Автор оригинала: Team Python Pool.
Найти все вхождения подстроки в строке в Python
Привет, кодеры!! В этой статье мы рассмотрим методы в Python, чтобы найти все вхождения в строку. Чтобы сделать концепцию ясной, мы рассмотрим подробную иллюстрацию кода для достижения требуемого результата.
Что такое подстрока?
Подстрока в Python – это последовательность символов, представленных в другой строке. Например, рассмотрим сильный abaabaabbaab. Здесь arab – это подстрока, встречающаяся дважды в строке. Кроме того, abs – это еще одна подстрока, встречающаяся трижды в строке.
Часто при обработке строк у нас могут возникнуть проблемы с обработкой подстрок. Это включает в себя неудобство нахождения всех позиций определенной подстроки в строке. В этой статье мы обсудим, как мы можем справиться с этим.
Код Python для поиска всех вхождений в строку
1)Использование понимания списка + начинается с() в Python для поиска всех вхождений в строку
Эта функция помогает найти заданную подстроку во всей строке или в заданной части строки.
Синтаксис:
string.startswith(значение, начало, конец)
Список параметров:
- значение: Это обязательное поле. Он содержит значение, с помощью которого мы проверяем, начинается ли строка с этого значения.
- start: Это необязательное поле. Это целочисленное значение, которое определяет позицию, с которой следует начать поиск.
- конец: Это необязательное поле. Это целочисленное значение, которое указывает позицию, с которой следует завершить поиск.
Возвращаемое значение:
Возвращает индекс, по которому найдена данная подстрока.
Вывод и объяснение:
Выход
В этом коде входная строка была “python pool for python coding”. Мы выбрали подстроку “python”. Используя функцию starts with() , мы нашли вхождения подстроки в строку. В результате мы нашли подстроку в индексах 0 и 15.
2) Использование re.finditer() в Python для поиска всех вхождений в строку
Это функция href=”https://docs.python.org/3/library/re.html”>библиотека регулярных выражений, предоставляемая python, которая помогает найти вхождение определенного шаблона в строку. href=”https://docs.python.org/3/library/re.html”>библиотека регулярных выражений, предоставляемая python, которая помогает найти вхождение определенного шаблона в строку.
Синтаксис:
re.finditer(шаблон, строка,)
Список параметров:
- pattern: шаблон, который должен быть согласован
Возвращаемое значение:
Эта функция возвращает итератор неперекрывающихся совпадений для шаблона в строке.
import re print("The original string is: " + string) print("The substring to find: " + substring) result = [i.start() for i in re.finditer(substring, string)] print("The start indices of the substrings are : " + str(result))
Вывод и объяснение:
Выход
В этом коде входная строка была “python pool for python coding”. Мы выбрали подстроку “python”. Используя функцию re.finditer (), мы нашли неперекрывающиеся вхождения подстроки в строке. В результате мы нашли подстроку в индексах 0 и 15.
3) Использование re.findall() в Python для поиска всех вхождений в строку
Эта функция используется для поиска всех неперекрывающихся подстрок в данной строке. Строка тщательно сканируется слева направо, возвращая совпадения в том же порядке.
Синтаксис:
re.finditer(шаблон, строка,)
Список параметров:
- pattern: шаблон, который должен быть согласован
Возвращаемое значение:
Он возвращает все совпадения шаблона в виде списка строк.
import re print("The original string is: " + string) print("The substring to find: " + substring) .findall(substring, string) print(result)
Вывод и объяснение:
Выход
В этом коде входная строка была “python pool 123 for python 456 coding”. Мы выбрали подстроку “\d+”. Используя функцию re.findall (), мы нашли вхождения подстроки. В этом случае мы ищем целые числа в строке. В результате на выходе получается список, содержащий все целочисленные значения.
Вывод: Python находит все вхождения в строку
В этой статье мы изучили различные способы поиска всех вхождений данной подстроки в строку с помощью различных функций в Python.