如何从文本文件中查找字符串

smallcat457 2007-05-19 06:39:37
该文本的格式如下:
纪录不等长,每条纪录占一行
纪录的各字段的开始位置在每行中的位置固定,例如:
$姓名1 %英文名1 [地址 1
$姓名2 %英文名2 [地址2
$姓名3 %英文名3 [地址3
想根据姓名或英文名查找该条记录,读出地址等信息,能告诉我怎么实现吗,最好有代码!!!!
 我现在能实现的是把所有的字符串读出来,但是读出来的东东没有格式了,也找不到字符串.
...全文
664 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oumiga111 2007-09-02
  • 打赏
  • 举报
回复
再给个思路:

Private Sub Command3_Click()

Search = "地址"
Dim willSel As Integer
Dim Where2
Dim StartMe As Integer
Text3.SetFocus
Where2 = InStr(sCount, Text3.Text, Search)
sCount = Where2 + 1 '关键字选两个,这里就要+1
Text3.SelStart = Where2 + 1
Text3.SelLength = 6
Text1.Text = Text3.SelText
Text1.Text = Replace(Text1.Text, vbCrLf, "")
Text2.Text = Text2.Text + Text1.Text + vbCrLf
Text1.Refresh
Text2.Refresh
i = i + 1
Text1.SetFocus
End Sub

--------
为了好调试,我用了三个TEXTBOX,其中先将TXT内容读入text3.text中,text1.text为过渡显示
text2.text为结果 (注意,text3.text的Multline属性为True)

想办法把Text3.SelLength = 6 其中的6换成要选择内容长度的变量就可以了
(思路和上面代码相同,只是Search = "地址"改为search2= vbcrlf)
GLAY 2007-09-02
  • 打赏
  • 举报
回复
你把上面代码例子的"$"全部换成"%" 就能读出英文名了
GLAY 2007-09-02
  • 打赏
  • 举报
回复
你输入数据的时后应该在正文的开头和结尾加上标记
例子: $李小龙$ %英文名% #地址#

这样就可以区分下来。。

用 MID 命令吧。。。。

Private Sub Command1_Click()
Dim s, N, E, A As String

s = "$李小龙$ %英文名% #地址#"

For i = 1 To Len(s)
If Mid(s, i, 1) = "$" Then
For t = i + 1 To Len(s)
If Mid(s, t, 1) <> "$" Then
N = N & Mid(s, t, 1)
Else
MsgBox N
Exit Sub
End If
Next t
End If
Next i

End Sub
weaver2007 2007-08-31
  • 打赏
  • 举报
回复
帮忙顶一下
请高人指点一下呀,
smallcat457 2007-05-19
  • 打赏
  • 举报
回复
我刚进这个论坛,囊中羞涩~~,给不了多少分
请大家不要嫌弃啊!!!

7,785

社区成员

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

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