2011-04-15 55 views
0

我想从.txt文件填充数据网格。当我将所有的行都只有一个空格时,我设法使用split函数Split(sr.ReadLine,“”)来完成它,但是我遇到的问题是txt文件没有分隔,而且“空格”会有所不同时间。这是我的数据样本:使用VB.net找到字符(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

尝试净String.Split方法来代替,它有一个RemoveEmptyEntries选项。

ItemsOf = Line.Split(New String() {" "}, 
    StringSplitOptions.RemoveEmptyEntries)