作者zzxxxzz (沒看到)
看板Visual_Basic
標題[.NET] 從固定寬度的文字檔讀取遇到中文問題
時間Tue Jul 13 00:22:26 2010
請輸入專案類型:應用程式專案
使用 Microsoft Visual Basic 2008 Express Edition
參照
http://msdn.microsoft.com/zh-tw/library/zezabash%28v=VS.90%29.aspx
(HOW TO:在 Visual Basic 中從固定寬度的文字檔讀取)
在處理一個文字檔(.txt)如下面所示, 在遇到中文時(1~10)會遇到一些問題
此檔在1~10 最多可放五個中文字, 或十個英文字.
(在不足五個中文字時會在後面補空白(space), 每個中文補2個空白(space)
例如第一行, 會變成 陳小華^^^^ ("^" 表space) )
如果設定取五格, 系統會抓到, 陳小華^^ 但後面的資料位置會受影響,
且在第三行會抓成Jason, 後面的資料位置也會受影響(名字沒抓完整).
123456789112345678 (行號)
陳小華 0003411;
天才王小明2003417;
Jason Chen0003418;
想請問各位先進, 有辦法可以讓程式順利的抓到正確的文字嗎?
先謝謝了!!!
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.188.65
1F:→ MOONRAKER:每次抓一行讀進字串,自己用ascw()逐個判斷字串中的文字 07/13 11:02
2F:→ MOONRAKER:是ASCII或中文,自己抓行內字數切分欄位 07/13 11:03
3F:→ MOONRAKER:這算是比較簡單直覺的方法…轉byte[]感覺上更麻煩… 07/13 11:03
4F:推 jimmy701010:不能trim掉空白嗎 07/13 11:36
5F:→ MOONRAKER:聽起來他的問題是因為在unicode下中英文都算一個字 07/13 15:56
6F:→ MOONRAKER:所以照固定寬度切根本不可靠,空白還小事哩 07/13 15:56
7F:推 sueadolph:嗯? 要不要考慮從後面抓? 07/13 23:21
8F:→ sueadolph:後面的截取完成後, 剩下的前面就用Trim試試吧 07/13 23:22
9F:→ zzxxxzz:謝謝.. 我再來試試看!! 謝謝!! 07/14 03:51