Разделить, когда символ найден (текст не разделен), используя VB.net - PullRequest
0 голосов
/ 15 апреля 2011

Я пытаюсь заполнить сетку данных из файла .txt. Мне удалось сделать это с помощью функции разделения Split (sr.ReadLine, ""), когда все строки идентичны с одним пробелом, но у меня проблема в том, что txt-файл не разделен, а "пробелы" изменяются несколько время. Это образец моих данных:

Col1  Col2 Col3
1      Mary Yes
1234   John Yes
999    Leo No

Таким образом, мой вопрос заключается в том, как разделить или разделить строку на основе, когда она находит следующий символ и игнорирует пустые пробелы. Это код, который у меня есть.

OpenFileDialog1.Filter = "Text File|*.txt"
    OpenFileDialog1.Title = "Open File..."
    OpenFileDialog1.FileName = "test"

    If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(OpenFileDialog1.FileName)
        Dim srlineitems() As String
        srlineitems = Split(sr.ReadLine, " ")

        Dim DT As New DataTable
        DT.Columns.Add("Col1")
        DT.Columns.Add("Col2")
        DT.Columns.Add("Col3")
        DT.Columns.Add("Col4")

        DataGridView1.DataSource = DT

        Dim Lines() As String = System.IO.File.ReadAllLines(OpenFileDialog1.FileName)

        For Each Line As String In Lines
            Dim ItemsOf() As String = Split(Line, " ")
            Dim NRow As String() = {ItemsOf(0), ItemsOf(1), ItemsOf(2), ItemsOf(3)}

            DT.Rows.Add(NRow)

        Next Line


    End If  

Любая помощь приветствуется

1 Ответ

1 голос
/ 15 апреля 2011

Попробуйте вместо этого метод .Net String.Split , у него есть опция RemoveEmptyEntries .

ItemsOf = Line.Split(New String() {" "},
    StringSplitOptions.RemoveEmptyEntries)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...