У меня есть листы Excel с множеством строк, содержащих неизвестные строки произвольной длины и содержания.Например:
str1 = "AKMDHVIIDMEHGOKDJNFJD"
str2 = "DJRWFNCGNDKDJHBC"
Учитывая минимальную длину подстроки N, как я могу определить, существует ли где-нибудь в str2
?
какая-либо подстрока N-длины или более длинная из str1
?это грубой силой с чем-то вроде:
For N = 4 To Len(str2)
For pos = 1 To Len(str2) - N
subStr = Mid(str1, pos, N)
If InStr(str2, subStr) > 0 Then
'Do stuff
End If
Next pos
Next N
Но это сравнение должно выполняться тысячи раз.Есть ли более эффективный способ?