【发布时间】:2020-06-16 06:20:50
【问题描述】:
我需要比较数组条目。我有两个带有file1.csv 之类的字符串的数组。这些数组填充了几乎相同但未排序的字符串:
arrayA = {file1.csv, file2.csv, file3.csv ...}
arrayB = {file1.csv, file3.csv, fileABC.csv ...}
我的方法是遍历数组并比较类似的条目
For i = LBound(arrayA) To UBound(arrayA)
For j = LBound(arrayB) To UBound(arrayB)
If arrayA(j) <> arrayB(i) Then
' call func
i = i + 1
Else
j = j + 1
End If
这个想法很简单,取一个变量j 并保持第二个变量i。循环遍历两个列表,并且仅当缺少一个条目时,才调用一个函数。这是问题所在。我的情况不适用于未排序的列表。因为arrayA(2) 等于arrayB(1) 但它会在一次caparision 不相等后立即触发不相等 条件。但这必须首先遍历完整的数组,然后才能确定是否缺少条目。
【问题讨论】:
标签: arrays excel vba string-comparison