2015-11-24 27 views
0

我想從文本框中添加每個單詞作爲列表框中的新項目,它的工作,但問題是,文本框是多行,所以代碼每次添加最後單詞來自同一項目下一行中的下一個單詞。VB.NET從文本框中添加每個單詞作爲列表框中的新項目

下面是代碼:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    Dim words() As String 
    Dim space() As Char = {" "c} 
    'split each word by space 
    words = TextBox1.Text.Split(words) 
    Dim word As String 
    For Each word In words 
     'Add each word in to Listbox 
     ListBox1.Items.Add(word) 
    Next 
End Sub 

我試過,但它不工作:

Dim words() As String 
    Dim space() As Char = {" "c} 
    Dim xx As Char = vbNewLine 
    'split each word by space 
    words = TextBox1.Text.Split(words AndAlso xx) 
    Dim word As String 
    For Each word In words 
     'Add each word in to Listbox 
     ListBox1.Items.Add(word) 
    Next 

Finnaly fiexd:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    Dim words() As String 
    Dim space() As Char = {" "c, Microsoft.VisualBasic.vbCr, Microsoft.VisualBasic.vbLf} 
    words = TextBox1.Text.Split(space, StringSplitOptions.RemoveEmptyEntries) 
    For Each word As String In words 
     ListBox1.Items.Add(word) 
    Next 
End Sub 

回答

3

您的space陣列的初始化更改爲

Dim space() As Char = {" "c, Microsoft.VisualBasic.vbCr, Microsoft.VisualBasic.vbLf} 

和分裂添加RemoveEmptyEntries選項

​​

這將同時使用回車和換行字符作爲分隔符時而RemoveEmptyEntries選項將清除回車和換行之間產生的錯誤空白「單詞」的結果,以及y在文本框結尾的空行。

+0

非常感謝!問題解決了! – qckmini6

1

如果要拆分通過空格但行返回與您搞砸,刪除行返回。

words = TextBox1.Text.Replace(chr(10),"").replace(chr(13),"").Split(words) 

編輯:

等待,我想你貼一些錯誤的代碼。不知道你的工作方式。應該是這樣的。

words = TextBox1.Text.Replace(chr(10),"").replace(chr(13),"").Split(" "c) 
+0

非常感謝!問題解決了! – qckmini6

相關問題