我有一个文本文件,包含近 45,000 个单词,每行一个单词。数千个这样的词出现了10次以上。我想创建一个新文件,其中没有重复的单词。我使用了 Stream reader,但它只读取文件一次。怎样才能去掉那些重复的词呢?请帮我。谢谢 我的代码是这样的
Try
File.OpenText(TextBox1.Text)
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
Dim line As String = String.Empty
Dim OldLine As String = String.Empty
Dim sr = File.OpenText(TextBox1.Text)
line = sr.ReadLine
OldLine = line
Do While sr.Peek <> -1
Application.DoEvents()
line = sr.ReadLine
If OldLine <> line Then
My.Computer.FileSystem.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Desktop & "\Splitted File without Repeats.txt", line & vbCrLf, True)
End If
OldLine = line
Loop
sr.Close()
System.Diagnostics.Process.Start(My.Computer.FileSystem.SpecialDirectories.Desktop & "\Splitted File without Repeats.txt")
MsgBox("Loop terminated. Stream Reader Closed." & vbCrLf)
最佳答案
您可以使用 LINQ 的 Distinct()
方法来实现此目的。
这适用于较小的文件:
Dim lines As String() = File.ReadAllLines("yourfile.txt")
File.WriteAllLines("yourfile.txt", lines.Distinct().ToArray())
关于vb.net - 从文本文件中删除重复的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38680776/