Python Строковый метод find() с примерами
Что такое Python Строка найти()?
Python Поиск строки() это функция, доступная в Python библиотека для поиска индекса первого вхождения подстроки из заданной строки. Функция string find() вернет -1 вместо выдачи исключения, если указанная подстрока отсутствует в заданной строке.
Синтаксис Python поиск строки()
Основной синтаксис Python Функция find() выглядит следующим образом:
string.find(substring,start,end)
Параметры метода find()
Вот три параметра функции String find() в Python:
- подстрока: Подстрока, которую вы хотите найти в данной строке.
- Начало: (необязательно) Начальное значение, с которого начнется поиск подстроки. По умолчанию это 0.
- конец: (необязательно) Конечное значение, где закончится поиск подстроки. По умолчанию значением является длина строки.
Пример метода find() со значениями по умолчанию
Параметры, переданные в Python find() представляют собой подстроку, то есть строку, которую вы хотите найти, начать и закончить. По умолчанию начальное значение равно 0, а конечное значение — это длина строки.
В этом примере мы будем использовать метод find() в Python со значениями по умолчанию.
Метод find() будет искать подстроку и выдавать позицию самого первого вхождения подстроки. Теперь, если подстрока присутствует в данной строке несколько раз, она все равно вернет вам индекс или позицию первой.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials"))
Вывод:
The position of Tutorials is at: 12
Пример find() с использованием стартового аргумента
Вы можете выполнить поиск подстроки в заданной строке и указать начальную позицию, с которой начнется поиск. Параметр start можно использовать для того же.
В примере будет указана начальная позиция 15, а метод find() в Python Метод начнет поиск с позиции 15. Здесь конечной позицией будет длина строки, и поиск будет осуществляться до конца строки, начиная с 15 позиции.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Вывод:
The position of Tutorials is at 48
Пример find() с использованием начальных и конечных аргументов
Используя параметры start и end, мы попытаемся ограничить поиск вместо поиска по всей строке.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Вывод:
The position of Tutorials is at 12
Пример метода find(). Чтобы найти позицию заданной подстроки в строке.
Мы знаем, что find() помогает нам найти индекс первого вхождения подстроки. Он возвращает -1, если подстрока отсутствует в данной строке. В приведенном ниже примере показан индекс, когда строка присутствует, и -1, когда мы не находим искомую подстроку.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of лучших site is at:", mystring.find("лучших site", 5, 40)) print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Вывод:
The position of лучших site is at: 27 The position of Guru99 is at: -1
Python строка rfind()
Команда Python Функция rfind() аналогична функции find() с той лишь разницей, что rfind() выдает самый высокий индекс для заданной подстроки, а find() дает самый низкий, то есть самый первый индекс. И rfind(), и find() вернут -1, если подстрока отсутствует.
В примере ниже у нас есть строка «Meet Guru99 Tutorials Site. лучший сайт для Python Руководства!” и попытается найти позицию подстроки Tutorials, используя find() и rfind(). Учебники встречаются в строке дважды.
Вот пример, в котором используются как find(), так и rfind().
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
Вывод:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
Вывод показывает, что find() возвращает индекс самой первой полученной подстроки Tutorials, а rfind() возвращает последний индекс подстроки Tutorials.
Python строковый индекс()
Команда Python string index() — это функция, которая выдает вам позицию заданной подстроки, как и find(). Единственная разница между ними заключается в том, что index() выдаст исключение, если подстрока отсутствует в строке, а find() вернет -1.
Вот рабочий пример, показывающий поведение функций index() и find().
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
Вывод:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Мы получаем одинаковую позицию как для find(), так и для index(). Давайте посмотрим пример, когда заданная подстрока отсутствует в строке.
mystring = "Meet Guru99 Tutorials Site.лучших site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("test")) print("The position of Tutorials using index() : ", mystring.index("test"))
Вывод:
The position of Tutorials using find() : -1 Traceback (most recent call last): File "task1.py", line 3, in <module> print("The position of Tutorials using index() : ", mystring.index("test")) ValueError: substring not found
В приведенном выше примере мы пытаемся найти позицию подстроки «test». Подстрока отсутствует в данной строке, и, следовательно, используя find(), мы получаем позицию как -1, но для index() выдается ошибка, как показано выше.
Чтобы найти общее количество вхождений подстроки
Чтобы найти общее количество раз, когда подстрока встречалась в данной строке, мы воспользуемся функцией find() в Python. Будет перебирать строку с помощью цикла for от 0 до конца строки. Будет использовать параметр startIndex для find().
Переменные startIndex и count будут инициализированы значением 0. Внутри for –loop проверит, присутствует ли подстрока внутри строки, заданной с помощью find() и startIndex как 0.
Значение, возвращаемое функцией find(), если оно не -1, обновит startIndex до индекса, в котором найдена строка, а также увеличит значение счетчика.
Вот рабочий пример:
my_string = "test string test, test string testing, test string test string" startIndex = 0 count = 0 for i in range(len(my_string)): k = my_string.find('test', startIndex) if(k != -1): startIndex = k+1 count += 1 k = 0 print("The total count of substring test is: ", count )
Вывод:
The total count of substring test is: 6
Итого
- Команда Python Метод string find() помогает найти индекс первого вхождения подстроки в заданную строку. Он вернет -1, если подстрока отсутствует.
- Параметры, переданные в Python Метод find substring представляет собой подстроку, то есть строку, которую вы хотите найти, начало и конец. По умолчанию начальное значение равно 0, а конечное значение — это длина строки.
- Вы можете выполнить поиск подстроки в заданной строке и указать начальную позицию, с которой начнется поиск. Параметр start можно использовать для того же.
- Используя параметры start и end, мы попытаемся ограничить поиск вместо поиска по всей строке.
- Команда Python функция rfind() аналогичен функции find() с той лишь разницей, что rfind() выдает самый высокий индекс для заданной подстроки, а find() дает самый низкий, то есть самый первый индекс. И rfind(), и find() вернут -1, если подстрока отсутствует.
- Команда Python string index() — это еще одна функция, которая выдаст вам позицию заданной подстроки, как и find(). Единственная разница между ними заключается в том, что index() выдаст исключение, если подстрока отсутствует в строке, а find() вернет -1.
- Мы можем использовать find(), чтобы найти общее количество вхождений подстроки в заданную строку.
" Узнать больше о Python Разделение строки()