Vb.net 读取特定分隔符后的行

Vb.net 读取特定分隔符后的行,vb.net,Vb.net,我的问题是,我不明白如何在lblbox中从txt.file输出正确的数据 我的身体里有8磅的赘肉,我正在尝试修剪一切,包括:。 这不起作用,我知道它是在第一行中查找:的索引,但在第二行中使用它的子字符串。我还想创建一个数组,首先查找所有索引,然后将它们与子字符串一起使用,但它不允许我以这种方式查看列表。阵列示例: 'EXAMPLE OF BAD ARRAY Dim intIndexDelimiter() As Integer For Each i As Integer

我的问题是,我不明白如何在lblbox中从txt.file输出正确的数据 我的身体里有8磅的赘肉,我正在尝试修剪一切,包括:。 这不起作用,我知道它是在第一行中查找:的索引,但在第二行中使用它的子字符串。我还想创建一个数组,首先查找所有索引,然后将它们与子字符串一起使用,但它不允许我以这种方式查看列表。阵列示例:

    'EXAMPLE OF BAD ARRAY
    Dim intIndexDelimiter() As Integer

    For Each i As Integer In employeeDataFileInput.ReadToEnd.IndexOf(":")
        intIndexDelimiter = i
    Next
代码:

我的txt文件数据

Record Number: 1
First Name: Tim
Middle Name: K
Last Name: Black
Employee Number: 111
Phone Number: 1112223344
Extention: 1
Email: sv@gmail.com
Department: Accounting

Record Number: 2
First Name: Jim
Middle Name: K
Last Name: Fisher
Employee Number: 222
Phone Number: 2223334455
Extention: 2
Email: jf@gmail.com
Department: Administration

Record Number: 3
First Name: James
Middle Name: T
Last Name: Holt
Employee Number: 333
Phone Number: 3334445566
Extention: 3
Email: jh@gmail.com
Department: Sales

可以使用String的Split方法将行拆分为键/值对


我的意思是:您读取完整的行并将其拆分。

提示:下面是一个读取文件并显示从输入中读取的数据的示例,就像您拥有的一样。关键是使用拆分方法分离“:”周围的输入

Record Number: 1
First Name: Tim
Middle Name: K
Last Name: Black
Employee Number: 111
Phone Number: 1112223344
Extention: 1
Email: sv@gmail.com
Department: Accounting

Record Number: 2
First Name: Jim
Middle Name: K
Last Name: Fisher
Employee Number: 222
Phone Number: 2223334455
Extention: 2
Email: jf@gmail.com
Department: Administration

Record Number: 3
First Name: James
Middle Name: T
Last Name: Holt
Employee Number: 333
Phone Number: 3334445566
Extention: 3
Email: jh@gmail.com
Department: Sales
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.IO

Namespace Console_Work
    Class Program

        Private Shared Sub Main(args As String())
            Dim FileName As String = "C:\temp\MyIOFile.txt"
            If Not File.Exists(FileName) Then
                Console.WriteLine("*** Error {0} does not exist. Please hit any keu", FileName)
                Console.Read()
                Return
            End If
            Dim inputRecord As [String]
            Using sr As StreamReader = File.OpenText(FileName)

                While (InlineAssignHelper(inputRecord, sr.ReadLine())) IsNot Nothing
                    'Process read record
                    ProcessInputRecord(inputRecord)
                End While
                Console.WriteLine("The end of the stream has been reached.")
            End Using
            Console.WriteLine("End - Please hit any key")
            Console.Read()
        End Sub

        '------------------------------------------------------------------------
        Public Shared Sub ProcessInputRecord(parm_record As String)

            Dim fldValue As String() = New String(0) {}
            Try
                fldValue = parm_record.Split(New [Char]() {":"C})
                If fldValue.GetUpperBound(0) = 1 Then
                    'the header text will be in fldvalue[0] and the data will be in fldValue[1]
                    Console.WriteLine("Header=" & fldValue(0) & vbTab & vbTab & "Data=" & fldValue(1))
                        'logic comes here when there is no :
                Else
                                '//logic comes here when there is no : in the input line
                End If
            Catch ex As Exception

                Console.WriteLine("***Error parsing:" & ex.Message & Environment.NewLine & parm_record)
            End Try

        End Sub
        Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
            target = value
            Return value
        End Function



    End Class
End Namespace