【发布时间】:2021-10-15 05:20:04
【问题描述】:
我有这个文本文件,当粘贴到 Excel 电子表格中时,它以制表符分隔,大约有 1,000 列和 12,000 行。我的目标是有一些方法可以比较字符串数组
arWords = Array("Title1", "Title2", "Title3")
到该 .txt 文件中的列标题。找到匹配项时,我想知道在哪个“列”中找到了该单词,并将其放入另一个数组中。在此示例中,它将是一个由 3 个整数组成的数组,每个整数表示找到每个 Title 的列。我的目标是最终得到一个看起来像这样的数组。
listIndex = array(159, 393, 400)
如果我在 arWords 中包含 4 个标题,那么我将得到一个由 4 个整数组成的数组,表示它们的列 #。 这是我的代码,我不擅长这个,但还是谢谢!
Const ForReading = 1
Dim FSO, FileIn, strTmp
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FileIn = FSO.OpenTextFile(movietitles.txt, ForReading)
arWords = Array("Title1", "Title2", "Title3")
size = UBound(arWords) - LBound(arWords) + 1
Dim listIndex() As Integer
ReDim listIndex(size)
Do Until FileIn.AtEndOfStream
strTmp = FileIn.ReadLine
If Len(strTmp) > 0 Then
For i = 0 To UBound(arWords)
If InStr(1, strTmp, arWords(i), vbTextCompare) > 0 Then
listIndex(i) = i
Exit For
End If
Next
End If
Loop
FileIn.Close
ReDim yArray(1 To lColumn)
Dim Counter As Integer
For Counter = 1 To lColumn
yArray(Counter) = 9
Next Counter
For Each Index In listIndex
yArray(Index) = 1
Next Index
【问题讨论】:
-
movietitles.txt应该是要搜索字符串数组的文本文件吗?如果是,它也必须包含路径,并且所有内容都在双引号之间。现在,讨论的标题在文本文件的第一行吗? -
嗨!啊,是的,我也有代码中的路径。文本文件的设置方式很奇怪。因此,当我在 excel 中复制并粘贴数据时,第一列中大约有 200 行包含随机数据。这 200 行的其余列是空的。从第 201 行开始,虽然开始了大约 1000 列和其余 11,800 行的标题(标题下只是数据(数字))
-
我对您的“澄清”评论一无所知,抱歉... 那么,要搜索字符串数组元素的标题在哪一行? “第一列中有 200 行”有什么相关性?我应该用下一种方式翻译吗?是的,标题在第一行,但是有很多空列,最多 1000 个(或更多)。这种理解应该正确吗?如果没有,请尝试澄清这方面。基本上,标题在哪一行?或者确定这一行的逻辑,如果不是第一行...
-
那么,标题行应该是201吗?