
VB:在txt中查找关键字,并将其前后两行,输出到新的txt
建立了一个a.txt文件,里面是一些字符串,而且每一个字符串都有回车,比如说07,12,19,22,25,2605,06,07,10,14,2301,11,20,26,2...
建立了一个a.txt文件,里面是一些字符串,而且每一个字符串都有回车,比如说
07,12,19,22,25,26
05,06,07,10,14,23
01,11,20,26,29,32
19,20,22,27,29,32
03,04,21,22,24,30
……
我要查找01,11,20,26,29,32 ,然后将其上下两行保存到b.txt
就是说我要的达到的目的是:执行这个程序以后 b.txt里面的内容是:
05,06,07,10,14,23
19,20,22,27,29,32
a.txt会比较大,01,11,20,26,29,32 重复出现,希望处理能稍快!!!谢谢 展开
07,12,19,22,25,26
05,06,07,10,14,23
01,11,20,26,29,32
19,20,22,27,29,32
03,04,21,22,24,30
……
我要查找01,11,20,26,29,32 ,然后将其上下两行保存到b.txt
就是说我要的达到的目的是:执行这个程序以后 b.txt里面的内容是:
05,06,07,10,14,23
19,20,22,27,29,32
a.txt会比较大,01,11,20,26,29,32 重复出现,希望处理能稍快!!!谢谢 展开
2个回答
展开全部
Private Sub Command1_Click()
Dim myData() As String, i As Integer, myFind As String
Open "c:\a.txt" For Binary As #1
myData = Split(Input(LOF(1), 1), vbCrLf)
Close
Open "c:\b.txt" For Output As #1
myFind = InputBox("请输入需要找的数据", "目标数据", "01,11,20,26,29,32")
For i = 0 To UBound(myData)
If myData(i) = myFind Then
Select Case i
Case 0 '如果目标出现在最前面
Print #1, myData(i + 1)
Case UBound(myData) '如果目标出现在最后面
Print #1, myData(i - 1)
Case Else '如果目标出现在中间
Print #1, myData(i - 1)
Print #1, myData(i + 1)
End Select
End If
Next
Close
End Sub
Dim myData() As String, i As Integer, myFind As String
Open "c:\a.txt" For Binary As #1
myData = Split(Input(LOF(1), 1), vbCrLf)
Close
Open "c:\b.txt" For Output As #1
myFind = InputBox("请输入需要找的数据", "目标数据", "01,11,20,26,29,32")
For i = 0 To UBound(myData)
If myData(i) = myFind Then
Select Case i
Case 0 '如果目标出现在最前面
Print #1, myData(i + 1)
Case UBound(myData) '如果目标出现在最后面
Print #1, myData(i - 1)
Case Else '如果目标出现在中间
Print #1, myData(i - 1)
Print #1, myData(i + 1)
End Select
End If
Next
Close
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询