删除源自.txt文件输入的空数组元素

时间:2013-12-13 03:50:57

标签: arrays vb.net

我一直在试图找出一种搜索数组的方法,只是从包含信息的.txt文件中获取代码行。我希望能够摆脱我不小心将其放入Input文件的空返回空格(空数组元素)。

我有一个数组,可以读取输入文件中的所有行。我添加了一个示例输入,我将其添加到示例输入文件中。

Line1 
Line2 
Line3

Line4
Line5

我有另一个数组,在占用所有空格之后将是finalArray,并且应该只是一个没有空行返回的数组。我似乎无法将它归为空返回元素。

我刚刚获得相同的输出。我希望它读作;

Line1 
Line2 
Line3
Line4
Line5

这将使随机化数组的第二部分更容易,如果我能找到一个解决方案来解释空数组元素。我已添加以下代码供参考。

Imports System.IO

Module ListRandomizer
    Sub populateArray(ByVal inputArray() As String, ByRef startArray() As String)
        Dim pos As Integer = 0

        For Each element As String in inputArray
        If element <> "" Then
            startArray(pos) = element
        End If
        pos += 1
        Next
    End Sub

    Sub Main()
        Dim myWriter As StreamWriter
        Dim inputArray() As String

        inputArray = File.ReadAllLines("sampleInput.txt")
        myWriter = New StreamWriter("sampleOutput.txt")

        Dim currLine As Integer = 1
        Dim size As Integer = 0

        For Each element As String in inputArray
        Console.WriteLine("LINE {0}, " & element, currLine)
                currLine += 1

        If element <> "" Then
            size += 1
        End If
        Next    

        Console.Writeline(size)
        Dim startArray(size) As String

        populateArray(inputArray, startArray)

        For Each fern As String in startArray
        Console.WriteLine("LINE {0}, " & fern, currLine)
                currLine += 1
        Next

        myWriter.Close()
        System.Console.ReadLine()
    End Sub
End Module

2 个答案:

答案 0 :(得分:0)

尝试:

inputArray = File.ReadAllLines("sampleInput.txt").Where(Function(s) Not String.IsNullOrEmpty(s)).ToArray()

答案 1 :(得分:0)

使用ReadlAllText()然后使用StringSplitOptions.RemoveEmptyEntries分割Split():

inputArray = File.ReadAllText("sampleInput.txt").Split(vbCrLf.ToCharArray, StringSplitOptions.RemoveEmptyEntries)