Метод Python String find() с примерами

Что такое Python String find()?

Поиск строки Python() — это функция, доступная в библиотеке Python, для поиска индекса первого вхождения подстроки в заданную строку. Функция string find() вернет -1 вместо thro.wing исключение, если указанная подстрока отсутствует в данной строке.

Синтаксис строки Python find()

Основной синтаксис функции Python find() следующий:

string.find(substring,start,end)

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

Вот три параметра функции String find() в Python:

  • подстрока: Подстрока, которую вы хотите найти в данной строке.
  • Начало: (необязательно) Начальное значение, с которого начнется поиск подстроки. По умолчанию это 0.
  • конец: (необязательно) Конечное значение, где закончится поиск подстроки. По умолчанию значением является длина строки.

Пример метода find() со значениями по умолчанию

Параметры, передаваемые в метод Python find(), представляют собой подстроку, т. е. строку, которую вы хотите найти, начиная и заканчивая. По умолчанию начальное значение равно 0, а конечное значение — это длина строки.

В этом примере мы будем использовать метод find() в Python со значениями по умолчанию.

Метод find() будет искать подстроку и выдавать позицию самого первого вхождения подстроки. Теперь, если подстрока присутствует в данной строке несколько раз, она все равно вернет вам индекс или позицию первой.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

mystring = "Meet Guru99 Tutorials Site.Best 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.Best 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, мы попытаемся ограничить поиск, а не задавать его.arching всю строку.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

mystring = "Meet Guru99 Tutorials Site.Best 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, когда мы не находим искомую подстроку.archiнг для.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Best site is at:", mystring.find("Best site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Вывод:

The position of Best 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.Best 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() — это функция, которая выдает вам позицию заданной подстроки, как и find(). Единственная разница между ними заключается в том, что index() выдаст исключение, если подстрока отсутствует в строке, а find() вернет -1.

Вот рабочий пример, показывающий поведение функций index() и find().

mystring = "Meet Guru99 Tutorials Site.Best 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.Best 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, мы попытаемся ограничить поиск, а не задавать его.arching всю строку.
  • Функция Python rfind() аналогичен функции find() с той лишь разницей, что rfind() выдает самый высокий индекс для заданной подстроки, а find() дает самый низкий, то есть самый первый индекс. И rfind(), и find() вернут -1, если подстрока отсутствует.
  • Индекс строки Python() — это еще одна функция, которая выдает вам позицию заданной подстроки, как и find(). Единственная разница между ними заключается в том, что index() выдаст исключение, если подстрока отсутствует в строке, а find() вернет -1.
  • Мы можем использовать find(), чтобы найти общее количество вхождений подстроки в заданную строку.

" Узнать больше о Разделение строк Python()