我正在创建一个程序,其中包含项名称为ItemNamelst
的List <>,并且我需要遍历一个非常大的文件(使用173k行测试一个文件,但是可以更大),并比较文件来确定项目名称是否在该行中,并存储该特定项目的计数。
由于文件的长度和我要搜索的项数(这是247个项),这成为一个时间问题
唯一的要求是,我必须找到某项至少在文件中出现3次的时间,然后我“完成”搜索该项。
我当前将物品的出现次数保存在二维数组arrItemCount(Name, Count)
以下是一些示例代码:
While Not SR.EndOfStream
strTemp = SR.ReadLine()
intC1 += 1 'counter
For i = 0 To ItemNamelst.Count() - 1
'Loop through parts and increment count in arrItemCount
'if part matches the regex
Dim pattern = "(^|\W)" & ItemNamelst(i) & "($|W|:)" 'RegEx pattern
If Regex.IsMatch(strTemp, pattern) Then
'increment count value
arrItemCount(0, i) = (Integer.Parse(arrItemCount(0, i)) + 1).ToString()
End If
Next
End While
如果您有任何有关循环播放大文件的资源的链接,它们将对您的工作产生极大的帮助