作者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