Методы строк rfind() и finde() в языке программирования Python
Как можно понять из названия, это два "родственных" метода, а тем, кто знаком с английским языком, легко догадаться, что методы что-то ищут. Это и в самом деле так. Но несмотря на свою похожесть, эти два метода имеют одно существенное отличие. Буква "r" в rfind() от английского right (право), и с помощью этого легко запомнить, чем отличаются эти два метода друг от друга.
Изображение PublicDomainPictures с сайта Pixabay Оба метода ищут первое вхождение искомой подстроки в строку, но если find() начинает поиск слева, то rfind() справа. Оба метода возвращают индекс первого вхождения подстроки в строку, но один из них ищет первое вхождение сначала строки, второй с конца. Давайте посмотрим на примере, а заодно познакомимся с синтаксисом:
Изображение автора Как видите, все работает! Давайте посмотрим что вернут методы, если искомой подстроки обнаружено не будет:
Изображение автора Все верно, если поиск заканчивается неудачей, то методы возвращают -1. Важно знать еще и то, что методы могут искать подстроку лишь в указанном диапазоне строки, для этого в аргументах методов нужно указать начало и конец диапазона. В нашем случае синтаксис будет выглядеть так:
Изображение автора Начало поиска с индекса 3 "обрезало" первое вхождение "Как" в строку, поэтому результат работы обоих методов одинаков. Стоит заметить, что указание конечного индекса диапазона поиска необязательно (как, собственно, и начала). Если в скобках будет стоять только одно число, метод по умолчанию воспримет это как начальную границу диапазона. (Изображение PublicDomainPictures с сайта Pixabay)
Python – от основ до продвинутых возможностей
Методы строк rfind() и finde() в языке программирования Python
Как можно понять из названия, это два "родственных" метода, а тем, кто знаком с английским языком, легко догадаться, что методы что-то ищут.Это и в самом деле так. Но несмотря на свою похожесть, эти два метода имеют одно существенное отличие.
Буква "r" в rfind() от английского right (право), и с помощью этого легко запомнить, чем отличаются эти два метода друг от друга.
Оба метода ищут первое вхождение искомой подстроки в строку, но если find() начинает поиск слева, то rfind() справа.
Оба метода возвращают индекс первого вхождения подстроки в строку, но один из них ищет первое вхождение сначала строки, второй с конца.
Давайте посмотрим на примере, а заодно познакомимся с синтаксисом:
Как видите, все работает!
Давайте посмотрим что вернут методы, если искомой подстроки обнаружено не будет:
Все верно, если поиск заканчивается неудачей, то методы возвращают -1.
Важно знать еще и то, что методы могут искать подстроку лишь в указанном диапазоне строки, для этого в аргументах методов нужно указать начало и конец диапазона.
В нашем случае синтаксис будет выглядеть так:
Начало поиска с индекса 3 "обрезало" первое вхождение "Как" в строку, поэтому результат работы обоих методов одинаков.
Стоит заметить, что указание конечного индекса диапазона поиска необязательно (как, собственно, и начала). Если в скобках будет стоять только одно число, метод по умолчанию воспримет это как начальную границу диапазона.
(Изображение PublicDomainPictures с сайта Pixabay)