从文本文件vb.net中删除一行

时间:2013-11-26 16:33:04

标签: vb.net file text text-files line

我正在使用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

1 个答案:

答案 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列表的内容写入文件。