从列表框中添加项目中删除空行

时间:2013-05-12 06:49:26

标签: .net vb.net

我正在将文件中的行添加到列表框中,并希望删除任何空行:

ListBox1.Items.AddRange(Split(My.Computer.FileSystem.ReadAllText(logsFilePath & "GENERAL.LOG"), vbNewLine), StringSplitOptions.RemoveEmptyEntries)

上述代码不起作用,当我使用, StringSplitOptions.RemoveEmptyEntries时,它会将项目添加到列表框中,并且还会添加空行。

我希望在将项目添加到列表框

时忽略所有空白行

2 个答案:

答案 0 :(得分:2)

将这些行作为单独的行读取(有一个函数可以执行此操作)。

使用Linq选择非空行。

将这些添加到列表框中。

(额外提示:尽量避免单行)

Dim lines = File.ReadAllLines(path)
Dim noneEmptyLines = lines.Where(Function(line) Not [String].IsNullOrWhitespace(line)).ToArray()
ListBox1.Items.AddRange(noneEmptyLines)

答案 1 :(得分:1)

作为替代方案和单线解决方案,您应该这样做:

 ListBox1.Items.AddRange(IO.File.ReadAllText("D:\abc.txt").Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries))

此解决方案也适用于不支持LINQ的框架。