Допустим, у нас есть строка в Python:
original_string = "TwasTheNightBeforeChristmasWhenAllThroughTheHouse"
И мы заинтересованы в поиске начальных координат подстроки substring ="ChristmasWhen"
. Это очень просто в Python, то есть
>>> substring ="ChristmasWhen"
>>> original_string.find(substring)
18
, и это проверяет
>>> "TwasTheNightBeforeChristmasWhenAllThroughTheHouse"[18]
'C'
Если мы попытаемся найти строку, которой не существует, find()
будет вернуть -1.
Вот моя проблема:
У меня есть подстрока, которая гарантированно должна быть из исходной строки. Однако символы в этой подстроке были случайно заменены другим символом.
Как можно алгоритмически найти начальную координату подстроки (или, по крайней мере, проверить, если это возможно), если подстрока имеет случайные символы '-'
, заменяющие определенные буквы?
Вот конкретный пример:
original_string = "TwasTheNightBeforeChristmasWhenAllThroughTheHouse"
substring = '-hri-t-asW-en'
Естественно, если я попытаюсь original_string.find('-hri-t-asW-en')
, но было бы возможно найти, что hri
начинается в 19, и, следовательно, с префиксом -
подстрока original_string.find('-hri-t-asW-en')
должна быть 18.