Поиск в строке
Чтобы в Python выполнить поиск в строке, используют метод find()
.
Он имеет три формы и возвращает индекс 1-го вхождения подстроки в строку:
1) find(str)
- поиск подстроки str
производится с начала строки и до её конца;
2) find(str, start)
- с помощью параметра start
задаётся начальный индекс, и именно с него и выполняется поиск;
3) find(str, start, end) -
посредством параметра end
задаётся конечный индекс, поиск выполняется до него.
Когда подстрока не найдена, метод возвращает -1:
welcome = "Hello world! Goodbye world!"
index = welcome.find("wor")
print(index) # 6
# ищем с 10-го по 15-й индекс
index = welcome.find("wor", 10, 15)
print(index) # -1
Поиск можно осуществлять с конца строки. Для этого используется метод
rfind()
(от англ.
reverse find) - возвращает индекс последнего вхождения подстроки в строку.
Обратите внимание: данные методы не ищут количество вхождений, а всего лишь определяют, есть ли такая подстрока в строке или нет.