Сообщить об ошибке.

Метод str.find() в Python, индекс первого совпадения в строке

Возвращает наименьший индекс совпадения подстроки в строке

Синтаксис:

str.find(sub[, start[, end]])

Параметры:

  • sub - str, подстрока или символ;
  • start - int, индекс строки str для начала поиска;
  • end - int, индекс строки str для конца поиска.

Возвращаемое значение:

  • int, индекс первого совпадения.

Описание:

Метод str.find() возвращает индекс первого совпадения подстроки sub в строке str, где подстрока или символ sub находится в пределах среза str[start:end]. Другими словами, находит и возвращает индекс первого совпадения подстроки в строке str.

  • Необязательные аргументы start и end интерпретируются как в нотации среза.
  • Индекс подстроки считается всегда от начала строки, а не от начала среза, если конечно он указан.
  • Метод возвращает -1, если символ или подстрока sub не найдены.

Что бы найти индекс последнего совпадения подстроки sub в строке str воспользуйтесь методом str.rfind().

Обратите внимание, что метод str.find() следует использовать только в том случае, если вам нужно знать положение подстроки sub в строке. Чтобы проверить, является ли sub подстрокой строки str, используйте оператор if ... in:

>>> if 'Py' in 'Python':
...    # что то сделать

Примечание. Найти индексы начала и конца подстроки в строке можно так же при помощи регулярных выражений, используя функцию re.search().

Примеры получения индекса первого совпадения символа/подстроки в строке.

>>> x = 'раз два три раз два три раз'
>>> x.find('раз')
# 0

>>> x.find('раз', 10, 23)
# 12

>>> x.find('раз', -12)
# 24

>>> x = 'раз два три раз два три раз'
>>> x.find('четыре')
# -1