2016-01-12 53 views
1

如何在VB中獲取和輸出,用逗號分隔,文件的每一行除了最後一行?
這裏是我的代碼:VB爲文件中的每一行,把行放在一個文本框中

Dim ofd As New OpenFileDialog 
    ofd.FilterIndex = 1 
    If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then 
     TextBox13.Text = ofd.FileName 
    Else : Exit Sub 
    End If 
    For Each line In IO.File.ReadLines(TextBox13.Text) 
     TextBox5.Text = line + ", " 
    Next 
End If 

一個例子:在textbox5

line1 
blabla 
asdfghj 

輸出:

line1, blabla, asdfghj 

,而不是

line1, blabla, asdfghj, 
+0

'Dim Lines = File.ReadLines(...)''''TextBox5.Text = String.Join(「,」,Lines)' – Plutonix

+0

@merdolodafoca當一個帖子回答你的問題時,你可以[標記爲已接受](http://meta.stackexchange.com/a/5235/308647)。 –

回答

1

而不是把值直接在TextBox,首先把它們集合在:

Dim lines As New List(Of String) 
For Each line In IO.File.ReadLines(TextBox13.Text) 
    lines.Add(line) 
Next 

甚至更​​簡單...

Dim lines = IO.File.ReadLines(TextBox13.Text) 

然後,一旦收集填充,使用String.Join你分離器加入吧:

TextBox5.Text = String.Join(", ", lines) 
2

您可以使用String.Join這樣的:

TextBox5.Text = String.Join(", ", IO.File.ReadLines(TextBox13.Text)) 

它自動不會追加最後一個分隔符。

編輯補充:請注意,由於可讀性和可維護性,您不應該嘗試在一行中做太多事情。它並不是完全推動這條線,但是如果我也正在構建一個文件的路徑,我會使用另一行與另一個變量來保存Path.Combine的結果,而不是寫它所有在一個大的線。

+0

謝謝soo! –

相關問題