Метод str.find() в Python — как использовать
Рассмотрим, как эффективно использовать метод Python find() для поиска подстроки в строке.
- Что такое метод string find() в Python?
- Примеры метода Python string find()
- 1) Поиск подстроки в строке
- 2) Поиск подстроки в строке внутри среза
- 3) Подстрока не существует в строке
Что такое метод 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