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