我正在寻找想法,如何从包含来自其他自定义列表中的错误字词的选定列表中删除行?这是一个小例子:
列表:
<Index item="25" name="Colligan">
<Index item="26" name="Michael">
<Index item="229" name="Julie">
<Index item="288" name="Robby">
<Index item="200" name="Andrea">
<Index item="299" name="Tommy">
包含错误字词的自定义列表:
因此,在运行清洁过程后,我得到的清理列表如下:
<Index item="26" name="Michael">
<Index item="288" name="Robby">
我发现如何删除一个或两个自定义坏词的小应用程序,但问题是,有时我会有超过1000个坏词。期待每一个解决方案。
我发现这段代码对一个坏词有用,但没有列出它们:
Dim lines() As String
Dim outputlines As New List(Of String)
Dim searchString As String = "3"
lines = IO.File.ReadAllLines("C:\Temp\test.txt")
For Each line As String In lines
If line.Contains(searchString) = False Then
outputlines.Add(line)
End If
Next
IO.File.WriteAllLines("C:\Temp\test.txt", outputlines)
我是编程的初学者,所以不要为我的问题而生气。感谢
答案 0 :(得分:1)
看起来你的代码原则上应该有效。然而,它唯一的问题是它只能找到一个坏词。您可以通过使用嵌套循环来更改它以搜索所有单词,如下所示:
Dim outputlines As New List(Of String)()
Dim badWords() As String = File.ReadAllLines("C:\Temp\badwords.txt")
For Each line As String In File.ReadAllLines("C:\Temp\test.txt")
Dim badWordFound As Boolean = False
For Each badWord As String in badWords
If line.Contains(badWord) Then
badWordFound = True
Exit For
End If
Next
If Not badWordFound Then
outputlines.Add(line)
End If
Next
File.WriteAllLines("C:\Temp\test.txt", outputlines)