Метод str.find() в Python — как использовать

Рассмотрим, как эффективно использовать метод Python find() для поиска подстроки в строке.

Содержание

Что такое метод string find() в Python?

Find() — это строковый метод, который находит подстроку в строке и возвращает индекс подстроки.

Ниже показан синтаксис метода find():

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

Метод find() принимает три параметра:

  • sub — подстрока, которую нужно найти в строке.
  • Параметры start и end интерпретируются как в срезе str[start:end], который указывает, где искать подстроку sub.

Оба параметра start и end являются необязательными. Параметр start по умолчанию равен нулю. А параметр end по умолчанию равен length-1, где length — это длина str.

Если str не содержит подстроку sub внутри среза str[start:end], метод find() возвращает -1.

На практике вам следует использовать метод find() только если вы хотите узнать позицию подстроки. Если вы просто хотите проверить, содержит ли строка подстроку, вам следует использовать оператор in вместо этого:

sub in str

Примеры метода Python string find()

Давайте рассмотрим несколько примеров использования метода find().

1) Поиск подстроки в строке

В следующем примере показано, как использовать метод find() для поиска подстроки «Johny» в строке «Johny Johny Yes Papa»:

s = 'Johny Johny Yes Papa'
result = s.find('Johny')

print(result)

Выход:

0

Поскольку строка «Johny Johny Yes Papa» имеет две подстроки «Johny», метод find() возвращает индекс первого вхождения подстроки «Johny».

2) Поиск подстроки в строке внутри среза

В следующем примере метод find() используется для поиска подстроки «Johny» в строке «Johny Johny Yes Papa» в срезе str[1:]:

s = 'Johny Johny Yes Papa'
result = s.find('Johny', 1)

print(result)

Выход:

6

В этом примере метод find() возвращает индекс второго вхождения подстроки «Johny» в строку «Johny Johny Yes Papa».

3) Подстрока не существует в строке

Следующий пример возвращает -1, поскольку подстрока «Julia» не существует в строке «Johny Johny Yes Papa»:

s = 'Johny Johny Yes Papa'
result = s.find('Julia')

print(result)

Выход:

-1

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *