2013-11-26 104 views
2

我正在使用vb.net窗體窗體應用程序。我想從行列表中刪除行。從文本文件中刪除一行vb.net

因此,如果文本框中的行存在於該列表中,則要從列表中移除,並將文件保存。

我有編號的列表中的文件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 

回答

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每一行不匹配的內容是由用戶鍵入的,你可以寫的內容匹配列表到文件。