2016-01-12 96 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! –

相关问题