【发布时间】:2015-07-12 14:55:34
【问题描述】:
我正在尝试创建一个工具,该工具将搜索 300 多个 .txt 文件中的字符串,该字符串可能在 300 多个 .txt 文件中的每个文件中使用多次
我希望能够遍历每个文件并获取每次出现之间的字符串。
我知道这听起来有点扭曲,我在测试代码时一直摸不着头脑。
我尝试过的
我通读每个文件并检查它是否包含我的搜索文本至少一次,如果包含,那么我将(包含它的文件)的完整路径添加到列表中
Dim FileNamesList As New List(Of String)
Dim occurList As New List(Of String)
Dim textSearch As String = TextBox1.Text.ToLower
'check each file to see if it even contains textbox1.text
'if it does, then add matching files to list
For Each f As FileInfo In dir.GetFiles("*.txt")
Dim tmpRead = File.ReadAllText(f.FullName).ToLower
Dim tIndex As Integer = tmpRead.IndexOf(textSearch)
If tIndex > -1 Then
FileNamesList.Add(f.FullName)
End If
Next
然后我想,哦,现在我需要做的就是检查“已批准”文件列表中的每个字符串,并将每个字符串的全部内容添加到一个新列表中。
然后我遍历“那个”列表中的每一个,并获取两个分隔符之间的字符串。
而且...我只是从那里迷路了...
这是我尝试使用的分隔符之间的获取字符串。
Private Function GetStringBetweenTags(ByVal startIdentifer As String, ByVal endIndentifier As String, ByVal textsource As String) As String
Dim idLength As Int16 = startIdentifer.Length
Dim s As String = textsource
Try
s = s.Substring(s.IndexOf(startIdentifer) + idLength)
s = s.Substring(0, s.IndexOf(endIndentifier))
'MsgBox(s)
Catch
End Try
Return s
End Function
简单来说...
- 我有 300 个 .txt 文件
- 有些可能包含我所追求的字符串
- 我想要每个字符串的子字符串
通常我很好,从不需要问问题,但有太多的强迫症发生。
逻辑示例
== Table.txt ==
print("I am tony")
print("pineapple")
print("brown cows")
log("cable ties")
log("bad ocd")
log("bingo")
== Cherry.txt ==
print("grapes")
print("pie")
print("apples")
log("laugh")
log("tuna")
log("gonuts")
== Tower.txt ==
print("tall")
print("clouds")
print("nomountain")
log("goggles?")
log("kuwait")
log("india")
我想以所有 3 个文件中仅打印功能之间的文本列表结束
没有找到任何关于这个的其他线程,可能是因为它很愚蠢。
所以我应该以
结尾 == ResultList ==
I am tony
pineapple
brown cows
grapes
pie
apples
tall
clouds
nomountain
【问题讨论】: