作者liaommx (Orz)
看板C_Sharp
标题[问题] 如何以readline正确撷取中文字资料?
时间Sun Jun 7 16:45:59 2009
1:89945.664:436829.016:26.7:75:-47:-66:-76:-62:15.1:3个卫星:06,07,25,,,,,,,,,
上面是我的rawdata资料.
格式是txt档,共有数千行
其中最後面,参杂了三个中文字
我用
FileStream F1 = new FileStream(ofdOpen.FileName, FileMode.Open);
StreamReader S1 = new StreamReader(F1, Encoding.Default);
这两个指令开启txt档案
并用
string[] R1 = S1.ReadLine().Split(':');
这个指令读取每一行data
上面的例子,应该有12栏,
但是处理到第11栏的时候
因为读取到了中文字,所以变成4?????06,07
R1[10]=4??????06,07
实际上应该为
R1[10]=4?????
R1[11]=06,07
这样的状况.
有两个问题请教.
1)
如何正确读取中文字?
2)
如何将文字删除,单纯只要前面数字的部分.
我想这两个问题应该是同一个.
因为好像可以利用replace指令置换文字.
我只要把文字置换成空格就可以了.
以上两个问题,麻烦各位先进协助解答..
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.125.83.171
1F:→ liaommx:自问自答..= = 06/07 16:54
2F:→ liaommx:把encoding改成 Encoding.UTF8就可正确读取中文 06/07 16:55
3F:→ liaommx:然後再搭配replace("个卫星","")就可以留下数字部分 06/07 16:55
4F:推 tomex:读档都涉及Encoding,但实际上Encoding.Default较常用 06/12 11:01