我正在使用vb.net windows form app。我想从行列表中删除行。
因此,如果该列表中存在文本框中的行,则要从列表中删除,以及要保存的文件。
我有一个带有数字列表的文件list.txt:
123-123
321-231
312-132
如果我在文本框中写入:321-231,如果list.txt包含该行,则将其删除。 所以结果必须是:
123-123
321-132
我正在尝试使用此代码:
Dim lines() As String
Dim outputlines As New List(Of String)
Dim searchString As String = Textbox1.Text
lines = IO.File.ReadAllLines("D:\list.txt")
For Each line As String In lines
If line.Contains(searchString) = True Then
line = "" 'Remove that line and save text file (here is my problem I think )
Exit For
End If
Next
答案 0 :(得分:4)
将每个字符串放在outputlines
列表中处理它,除非它与输入的值匹配,如下所示:
Dim lines() As String
Dim outputlines As New List(Of String)
Dim searchString As String = Textbox1.Text
lines = IO.File.ReadAllLines("D:\list.txt")
For Each line As String In lines
If line.Contains(searchString) = False Then
outputlines.Add(line)
End If
Next
现在outputlines
匹配与用户输入的内容不匹配的每一行,您可以将outputlines
列表的内容写入文件。