Как найти количество перекрывающихся вхождений подстроки в Python?
Могут быть скрипты, в которых вхождения подстроки в строке могут перекрываться. Например, строка abababa имеет перекрывающиеся вхождения подстроки aba.
В этом руководстве мы узнаем, как найти количество таких перекрывающихся вхождений подстроки в заданной строке.
Шаги, чтобы найти количество перекрывающихся вхождений
Чтобы получить общее количество вхождений подстроки в строке, где вхождения могут перекрываться, выполните следующие действия:
- Пройдите по строке, используя цикл for и диапазон (len (строка)).
- Найдите индекс первого вхождения подстроки с помощью String.find (substring, start).
- Если неотрицательный индекс, обновите начало с результатом индекса, полученного на предыдущем шаге. Также увеличьте счетчик и обновите переменную цикла for цикла на шаге 1 до index + 1. Если индекс отрицательный, прервать цикл.
- Счетчик будет иметь количество вхождений подстроки в строку.
Пример 1
В следующей программе мы взяли строку, а затем подстроку. Мы найдем перекрывающиеся вхождения подстроки в строке.
string = 'abcdefghghghghghgh.' substring = 'ghg' count = 0 start = 0 if(len(string)>0 and len(string)<201): for i in range(len(string)): i = string.find(substring, start) if(i>0): start = i+1 count += 1 else: break print(count)
Вывод:
5
Резюме
В этом руководстве в Python мы узнали, как найти вхождения подстроки в строке, где они могут перекрываться.
Автор