读取文本文件中的某一行并显示下一行

时间:2017-07-10 12:05:04

标签: vb.net

我是VB.net的新手,我需要帮助。我想要做的是在文本文件中找到某一行并在文本框中显示下一行。第一部分(找到线)我做得很好,但是我正在努力处理第二部分,它显示的是我找到的那条线之后的线!

以下是我正在使用的测试文件的内容:

**SCREENSHOT OF THE TEXT FILE**

洛尔

这就是我到目前为止所做的:

    Using sReader As New StreamReader("filepath")

        While Not sReader.EndOfStream
            Dim line As String = sReader.ReadLine()
            If line.Contains("123") Then
                TextBox1.Text = line
            End If
        End While

    End Using

收到结果:

**HERE IS A SCREENSHOT OF MY OUTPUT**

1 个答案:

答案 0 :(得分:2)

While Not sReader.EndOfStream
    Dim line As String = sReader.ReadLine()
    If line.Contains("123") AndAlso Not sReader.EndOfStream Then
        Dim nextLine As String = sReader.ReadLine()
        TextBox1.Text = nextLine
        Exit While
    End If
End While

使用LINQ,可以使完整的代码更具可读性:

Dim nextLineAfterMatch = File.ReadLines("filepath").
    SkipWhile(Function(line) Not line.Contains("123")).
    Skip(1).
    FirstOrDefault()

If nextLineAfterMatch IsNot Nothing Then TextBox1.Text = nextLineAfterMatch