VB为文件中的每一行,将行放在文本框中

时间:2016-01-12 19:12:33

标签: vb.net

如何在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

一个例子:

line1
blabla
asdfghj

textbox5中的输出:

line1, blabla, asdfghj

而不是

line1, blabla, asdfghj,

2 个答案:

答案 0 :(得分:2)

您可以像这样使用String.Join

<script type="text/javascript">
    $.datepicker.regional['es'] = {
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mc', 'Ju', 'Vi', 'Sa']
    }

    $.datepicker.setDefaults($.datepicker.regional['es']);

</script>

自动不附加最后一个分隔符。

编辑添加:请注意,作为可读性和可维护性的问题,您不应该尝试在一行中执行太多操作。对于那一行来说,它并没有完全推动它,但是如果我也要构建一个文件的路径,我会使用另一个变量来保存Path.Combine的结果,而不是写它一切都在一条线上。

答案 1 :(得分: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)