| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:请教关于过滤文本的问题
只看楼主 加入收藏
boc
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-12-21
收藏
 问题点数:0 回复次数:1 
请教关于过滤文本的问题
由于工作需要经常用到VB来处理文本文件的情况,这次遇到的文本比较特殊,请大家帮忙出主意。谢谢~

这次的文本是在UNIX下取的,转换成DOS格式倒不难,用Uedit做的。关键是后面的问题

文本如下(举例):

XX单位XX报表
--------------
  1  1 00271234567          20,000.00
  2  2 80801234567             100.00
  3  3 91414141414          85,100.00
  4  4 15615615616           4,723.00
合计  21532135132       121
  说明:xxxxxxxxx
  5  5 12312312313          12,750.00
  6  6 80812345678           4,555.00
合计  0212312        1222
  备注:xnbcbnvbnbfnbn
................

主要就是该文本比较乱,有数字有中文。现在想将有中文的行过滤掉,由于文本没有规律,所以不能查找指定字符。
搜索更多相关主题的帖子: 文本 
2007-12-21 20:23
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
用Line InPut 读
如:line input #1,MyStr
每读一行时,判断里面是否含有中文字符,有的话,将空值赋予MyStr,即MyStr=""
举个例子吧:
Private Sub Command1_Click()
Dim File As Long
Dim MyStr As String
Dim sTemp As String
File = FreeFile
Open "C:\Documents and Settings\Administrator\桌面\11.txt" For Input As #File
Do While Not EOF(File)
Line Input #File, MyStr
 For i = 1 To Len(MyStr)
   If LenB(StrConv(Mid(MyStr, i, 1), vbFromUnicode)) = 2 Then
     MyStr = ""
      Exit For
   End If
 Next i
 If MyStr <> "" Then sTemp = sTemp + MyStr + vbCrLf
Loop
Text1 = sTemp
Close #File
End Sub

[[italic] 本帖最后由 不说也罢 于 2007-12-21 21:15 编辑 [/italic]]
2007-12-21 20:44
快速回复:请教关于过滤文本的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016764 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved