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



所以我是VB的新手。. NET,我试图通过2个单独的文本文件阅读。File2 first &从中提取一个变量。然后,我想要获取该变量,并检查File1以查看字符串是否匹配。两个文件都比较大,我必须从一开始就修剪字符串的一部分,因此有多次分割。所以目前,这是我有的。但我遇到的问题是,如何让它检查每一行是否与另一个文件匹配?

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. 获取第二个文件的文本
  5. 使用字符串。替换(文档)而不是Char。IsWhitespace,这是更快,更明显的是发生了什么
  6. 使用字符串。Split(文档)而不是Split(因为这是2021年而不是1994年)。

至于接下来要做什么,可以调用String。对第二个文件的文本执行IndexOf (documentation),传递变量值,看看它是否返回一个大于-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

相关内容

  • 没有找到相关文章

最新更新