删除TXT文件中的行但保留其他所有内容

Ste*_*hRT 1 vb.net file-io visual-studio-2010

嘿所有我想找到一种方法来删除文本文件中的内容,但保留它周围的一切.

一个例子是:

SDfmifgn349234024jn4tnge0b04tnEFGm34tmn34t0egonkerglnk
318erg4nergpERGhmboergn4t34tmg054
fg94t34tskmsdglnEGgjr894ERG94mrg34tSDFS$45352ty
GGreerkg0gm4m505556g0fdg6555fbd105f1g
Run Code Online (Sandbox Code Playgroud)

并说我想删除318erg4nergpERGhmboergn4t34tmg054因此它会被保存为:

SDfmifgn349234024jn4tnge0b04tnEFGm34tmn34t0egonkerglnk
fg94t34tskmsdglnEGgjr894ERG94mrg34tSDFS$45352ty
GGreerkg0gm4m505556g0fdg6555fbd105f1g
Run Code Online (Sandbox Code Playgroud)

但我无法找到如何做到这一点!

我在下面尝试了以下代码:

    Dim dir As New DirectoryInfo(defaultNetworkDrive)

            For Each file As FileInfo In dir.GetFiles()
                If file.Extension = ".txt" Then
                    Dim ioFile As New StreamReader(defaultNetworkDrive & file.Name)

                    Dim ioLine As String ' Going to hold one line at a time
                    Dim ioLines As String ' Going to hold whole file
                    ioLine = ioFile.ReadLine
                    ioLines = ioLine

                    While Not ioLine = ""
                        ioLine = ioFile.ReadLine
                        ioLines = ioLines & vbCrLf & ioLine
                    End While

                    MsgBox(ioLines) 'SHOWS all the lines in the TXT file

                    If InStr(1, ioLines, encryptedText, vbTextCompare) <> 0 Then
                        MsgBox("True")
                    Else
                        MsgBox("False")
                    End If

                    'Dim sw As StreamWriter = file.CreateText("input.txt")
                    'sw.Write(ioLines)
                    'sw.Close()

                    ioFile.Close()
                End If
            Next
Run Code Online (Sandbox Code Playgroud)

我找到它并且它是真的但我不知道如何删除该行然后保存它!

任何帮助都会很棒!:O)

大卫

Han*_*ant 5

你必须重写该文件.使用StreamWriter创建临时文件.一次读一行并将其写入输出文件.如果您不想要该行,请跳过写入.通过重命名原件进行清理,重命名临时,然后删除重命名的原件.

使用比文本文件更好的东西,比如dbase,如果这太慢了.