注册 登录
编程论坛 VB6论坛

vb实现查找txt重复内容

小兰灵 发布于 2019-12-17 13:36, 2832 次点击
查找A.txt中的重复内容,如果有相同则清除B.txt中的内容
6 回复
#2
小兰灵2019-12-17 13:37
求指点
#3
风吹过的VB2019-12-19 09:17
请说明TXT文本的数据类型:
是针对每个字符去判断重复?
还是针对每一行的数据去判断重复?
说明这个问题其他都好办!
#4
小兰灵2019-12-19 09:29
回复 3楼 风吹过的VB
是对每一行来判断的,求指点
#5
风吹过的VB2019-12-19 10:01
回复 4楼 小兰灵
只有本站会员才能查看附件,请 登录

是每一行的每一个参数都一样的?才算重复吗?
还是每一行的每个头部文件判断重复便可认定重复?
#6
小兰灵2019-12-19 10:51
回复 5楼 风吹过的VB
只有本站会员才能查看附件,请 登录

这个文件内容不固定,但是格式一样
#7
风吹过的VB2019-12-19 13:12
程序代码:
Public A临时库 As String
Public B临时库 As String

Private Sub Command1_Click()
Dim A数据, B数据
List1.Clear
A临时库 = "": B临时库 = ""
'------------------------------↓处理数据
Open "C:\A.txt" For Input As #1
Do While Not EOF(1)
DoEvents
Line Input #1, A数据
If A数据 = "" Then
Else
If InStr(A临时库, A数据) > 0 Then
List1.AddItem A数据
Else
A临时库 = A临时库 & A数据 & IIf(EOF(1), "", vbCrLf)
End If
End If
Loop
Close #1
'------------------------------↑处理数据

      On Error Resume Next
      Open "C:\A.txt" For Output As #1
      Print #1, A临时库
      Close #1
      
'------------------------------↓处理数据
Open "C:\B.txt" For Input As #1
Do While Not EOF(1)
DoEvents
Line Input #1, B数据
If B数据 = "" Then
Else
'
For i = 0 To List1.ListCount - 1
If List1.List(i) = B数据 Then Exit For
Next
If List1.List(i) = B数据 Then
Else
B临时库 = B临时库 & B数据 & IIf(EOF(1), "", vbCrLf)
End If
'
End If
Loop
Close #1
'------------------------------↑处理数据
      On Error Resume Next
      Open "C:\B.txt" For Output As #1
      Print #1, B临时库
      Close #1
'------------------------------
End Sub

1.以上:A.txt删除了所有重复的数据
2.如果你只是想知道A.txt的重复数据是哪些?不想删除掉重复数据那么
把这段代码删掉
      On Error Resume Next
      Open "C:\A.txt" For Output As #1
      Print #1, A临时库
      Close #1

3.此代码会删除B.txt里所有A.txt里面的所有重复内容而且是一个保留。

思路总结:为了节约时间我用到了list1控件,主要收集A.text里的重复特征内容。进行判断B.TXT里的内容筛选..变量进行导出保存.就这样...
我觉得我这写法其实可以有其他方法写..懒..不想浪费时间。。就这样。
1