| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:[讨论]文本文件跳行处理问题如何解决?
只看楼主 加入收藏
QA2000
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-1-24
收藏
 问题点数:0 回复次数:4 
[讨论]文本文件跳行处理问题如何解决?
有一个数组b(1 to 5000) as string
有一个数组a(1 to 5000) as integer

若文件1.txt中某行的第10~20个字符与b(m)相等,
且B(a(m))与每行的第25~30个字符相等,则不读入该行

若文件1.txt中某行的第10~20个字符与b(m)相等,
且B(a(m))与每行的第25~30个字符不相等,则读入该行并在行尾加"B"

若文件1.txt中某行的第10~20个字符均不与b(m)相等
则直接读入该行

该如何实现?
搜索更多相关主题的帖子: 文本文件 跳行 
2007-01-24 08:50
QA2000
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-1-24
收藏
得分:0 
大家都试试,看看有啥好办法!
2007-01-25 08:58
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
得分:0 
下面得代码是找出文件中某一行中的某一段字段的方法,以这个为基础再来做解决你的问题,就非常容易了,自己解决一下吧!

Private Sub cmdFind_Click()
Dim b(1 To 5000) As String

Dim intFileNum As Integer
Dim strFile As String
Dim strBridge As String
Dim intI As Integer
Dim intJ As Integer

b(1) = "123456"
b(2) = "123456789"
b(3) = "01234567890"

intJ=1

intFileNum = FreeFile

Open App.Path & "\Test.txt" For Input As intFileNum

Do While Not EOF(intFileNum)
Line Input #intFileNum, strFile
strBridge = Right(strFile, Len(strFile) - 10)
strBridge = Left(strBridge , 11)

For intI = 1 To UBound(b)
If b(intI) = strBridge Then
MsgBox "The string'" & strBridge & "' of line "& intJ &" is found in b("& intI &")"
End If
Next intI

intJ=intJ+1

Loop

Close intFileNum

End Sub

还有一种方法做起来应该要简单得多,就是使用: 正则表达式.不过正则表达式我不是很熟,你学习一下正则表达式,这个问题应该很容易就解决了!!

[此贴子已经被作者于2007-1-25 10:08:36编辑过]


2007-01-25 09:39
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
好像不能用正则表达式解决问题 因为要求的不是类型匹配而是值匹配

2007-01-25 11:31
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
得分:0 
正则表达式里值匹配也是可以的,不过要稍作转换

2007-01-25 12:04
快速回复:[讨论]文本文件跳行处理问题如何解决?
数据加载中...
 
   



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

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