从一个文件中读取文本,以检查其他文本文件是否匹配

Reading text from one file, to check other text file for matches

所以我是 VB.NET 的新手,我正在尝试通读 2 个单独的文本文件。首先是 File2 并从中提取一个变量。然后我想获取该变量,并检查 File1 以查看字符串是否匹配。这两个文件都比较大,我必须从头开始 trim 部分字符串,因此进行了多次拆分。所以目前,这就是我所拥有的。但是我被挂断的地方是,如何让它检查每一行以查看它是否与其他文件匹配?

Public Function FileWriteTest()
Dim file1 = My.Computer.FileSystem.OpenTextFileReader(path)
Dim file2 = My.Computer.FileSystem.OpenTextFileReader(path)
Do Until file2.EndOfStream
     Dim line = file2.ReadLine()
     Dim noWhiteSpace As New String(line.Where(Function(x) Not Char.IsWhiteSpace(x)).ToArray())
     Dim split1 = Split(noWhiteSpace, "=")
     Dim splitStr = split1(0)
     If splitStr.Contains(HowImSplittingText) Then
     Dim parameter = Split(splitStr, "Module")
     Dim finalParameter = parameter(1)
     End If

'Here is where I'm not sure how to continue. I have trimmed the variable to where I would like to check with the other file.
'But i'm not sure how to continue from here.

这里有一些清理说明:

  1. 使用 IO.File.ReadAllLines (documentation)
  2. 获取第一个文件的行
  3. 使用IO.File.ReadAllText获取第二个文件的文本(documentation)
  4. 使用 String.Replace (documentation) 而不是 Char.IsWhitespace,这样会更快并且更明显地说明正在发生的事情
  5. 使用 String.Split (documentation) 而不是 Split(因为这是 2021 年而不是 1994 年)。

就您接下来要做什么而言,您将在第二个文件的文本上调用 String.IndexOf (documentation),传递您的变量值,以查看它是否 returns值大于 -1。如果是,那么您就知道该值存在于文件中的什么位置。

这是一个例子:

Dim file1() As String = IO.File.ReadAllLines("path to file 1")
Dim file2 As String = IO.File.ReadAllText("path to file 2")
For Each line In file1
    Dim noWhiteSpace As String = line.Replace(" ", String.Empty)
    Dim split1() As String = noWhiteSpace.Split("=")
    If (splitStr.Length > 0) Then
        Dim splitStr As String = split1(0)
        If splitStr.Contains(HowImSplittingText) Then
            Dim parameter() As String = splitStr.Split("Module")
            If (parameter.Length > 0) Then
                Dim finalParameter As String = parameter(0)
                Dim index As Integer = file2.IndexOf(finalParameter)
                If (index > -1) Then
                    ' finalParameter is in file2
                End If
            End If
        End If
    End If
Next