取出数组元素 去匹配字符串

abcdv2012 2010-11-10 09:29:52
在File1.list中有几个txt文档:
a.txt内容:用户李四位于广东
b.txt内容:我不知道你在哪里
c.txt内容:王五在上海
.....

Text1.text中的内容(这里的内容会随用户输入而有所变化):
张三,1988年5月25日
李四,生日不详
王五,性别男
....

想实现的效果:截取Text1中第1个逗号前的内容,然后在File1.list中的文档里查找内容。匹配到的,则该行显示在Text2中:
用户李四位于广东
王五在上海

我用了split截取逗号前文字,放进一个数组,然后再从数组中取出来 去匹配。不过,再去文本文档中匹配的时候,查找不出来。求大大们帮忙。
...全文
268 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2010-11-13
  • 打赏
  • 举报
回复

Dim shuzuArr() As String
shuzuArr = Split(wenben, vbcrlf)
For i = 0 To UBound(shuzuArr)
If InStr(a, split(shuzuArr(i))(0)) Then
Text2.Text = Text2.Text & a & vbCrLf
End If
Next i
zzhgb 2010-11-13
  • 打赏
  • 举报
回复
chr(0),chr(10),chr(13)都去掉再比对
兔子-顾问 2010-11-13
  • 打赏
  • 举报
回复
单独试试这些
vbcr
vblf
vbcrlf
abcdv2012 2010-11-12
  • 打赏
  • 举报
回复
发现问题了。。。在用split截取之后得到的字符串中出现了 黑色方块。。所以查找不到。。我用vbcrlf,vbnewline,Chr(13)等,都无法去掉那些黑色方块。。求大大~~
abcdv2012 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chinaboyzyq 的回复:]
数组循环的次数=你文件的个数
[/Quote]
我是循环数组元素个数的。

wenben = Text1.Text
Text2.Text = ""
d = Dir(File1.Path & "\*.txt")
Do While d <> ""
Open File1.Path & "\" & d For Input As #1
While Not EOF(1)
Line Input #1, a
Dim shuzuArr() As String
shuzuArr = Split(wenben, ",")
For i = 0 To UBound(shuzuArr)
If InStr(1, a, shuzuArr(i)) > 0 Then
Text2.Text = Text2.Text & a & vbCrLf
End If
Next i
Wend
Close #1
d = Dir
Loop

只能找到第一个文件中的内容。。。其他文件内容就查找不到了。。。
chinaboyzyq 2010-11-10
  • 打赏
  • 举报
回复
数组循环的次数=你文件的个数
苦寒 2010-11-10
  • 打赏
  • 举报
回复
是不是你的匹配算法不对?你可以尝试一下正则表达式。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧