Метод find() встроен в стандартный Python. Для поиска строки достаточно вызвать этот метод на объекте string
, например, так: "string to search".find("search")
.
Метод find()
ищет строку запроса и возвращает позицию первого символа, если искомая строка найдена. Если она не найдена, возвращается -1. Вы можете добавить начальный и конечный индекс: find(query, start, end)
, но эти параметры необязательны.
Для примера попробуйте воспользоваться приведенным ниже кодом:
Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
s = "That I ever did see. Dusty as the handle on the door" index = s.find("Dusty") print(index)
Сохраните файл под именем search.py и запустите из терминала или IDE. Вы должны увидеть следующий результат:
Ключевое слово in
Вы также можете использовать ключевое слово in
:
s = "That I ever did see. Dusty as the handle on the door" if "Dusty" in s: print("query found")
Разница в том, что ключевое слово in
проверяет, содержит ли строка значение, а find()
возвращает позицию начала искомой строки.
Примечание редакции: подробнее читайте в статье “Операторы in и not in в Python”.
Упражнение
Попробуйте выполнить следующие упражнения
- Выясните, чувствителен ли метод find() к регистру.
- Что делать, если строка запроса встречается в строке дважды?
- Напишите программу, которая запрашивает ввод с консоли и ищет запрос.
Перевод статьи «String find() in Python».