Найти любое N-символьное совпадение подстроки - PullRequest
0 голосов
/ 18 мая 2018

У меня есть листы 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

Но это сравнение должно выполняться тысячи раз.Есть ли более эффективный способ?

...