Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从文本文件中读取某些字符串并将其输出到文本框_Vb.net - Fatal编程技术网

Vb.net 从文本文件中读取某些字符串并将其输出到文本框

Vb.net 从文本文件中读取某些字符串并将其输出到文本框,vb.net,Vb.net,我还不熟悉使用Visual Studio 2013编程Visual Basic,我不知道如何从正在阅读的文本文件中提取所需的元素。我可以用下面的代码拉入整个文本文件,但我不需要拉入整个文本文件。我只需要从它输出两样东西到我在文本框中定义的字段 Public Class Form1 Private Sub BrowseBtn2_Click(sender As Object, e As EventArgs) Handles BrowseBtn2.Click OpenFile

我还不熟悉使用Visual Studio 2013编程Visual Basic,我不知道如何从正在阅读的文本文件中提取所需的元素。我可以用下面的代码拉入整个文本文件,但我不需要拉入整个文本文件。我只需要从它输出两样东西到我在文本框中定义的字段

Public Class Form1

    Private Sub BrowseBtn2_Click(sender As Object, e As EventArgs) Handles BrowseBtn2.Click
        OpenFileDialog2.ShowDialog()
        FilePathLabel2.Text = OpenFileDialog2.FileName
    End Sub

    Private Sub GenerateBtn_Click(sender As Object, e As EventArgs) Handles GenerateBtn.Click

        Dim FILE_NAME As String = OpenFileDialog2.FileName
        Dim TextLine As String

        If System.IO.File.Exists(FILE_NAME) = True Then
            Dim objReader As New System.IO.StreamReader(OpenFileDialog2.FileName)

            Do While objReader.Peek() <> -1
                TextLine = TextLine & objReader.ReadLine() & vbNewLine
            Loop
            TextBox1.Text = TextLine
        Else
            MsgBox("File Does Not Exist")
        End If
    End Sub

    Private Sub CloseBtn_Click(sender As Object, e As EventArgs) Handles CloseBtn.Click
        Me.Close()
    End Sub
End Class
我只需要以“310000000000001”开头的第一行中的字符串“89010000000001”,以及以“3100000000000010”开头的最后一行中的字符串“89010000000010”

我该怎么去弄那两条线呢


提前感谢。

您应该先将行存储在变量中

Do While objReader.Peek() <> -1
    Dim curLine As String = objReader.ReadLine()
    TextLine = TextLine & curLine & vbNewLine
Loop
Do While objReader.Peek() <> -1
    Dim curLine As String = objReader.ReadLine()

    If curLine.StartsWith("310000000000001") Then
        TextLine = TextLine & curLine & vbNewLine
    End If
Loop
Dim startLine, endLine As String

startLine = ""
endLine = ""

Do While objReader.Peek() <> -1
    Dim curLine As String = objReader.ReadLine()

    If curLine.StartsWith("310000000000001") Then
        If startLine = "" Then
            startLine = curLine
        End If

        endLine = curLine
    End If
Loop

TextLine = TextLine & startLine & vbNewLine
TextLine = TextLine & endLine & vbNewLine
TextLine = TextLine & startLine.Split(" ")(1) & vbNewLine
TextLine = TextLine & endLine.Split(" ")(1) & vbNewLine