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

Съдържание:

Anonim

Какво е Python String find ()?

Python String find () е функция, налична в библиотеката на Python, за да намери индекса на първото появяване на подниз от дадения низ. Функцията за търсене на низ () ще върне -1, вместо да хвърли изключение, ако посоченият подниз не присъства в дадения низ.

В този урок на метода find () на Python ще научите:

  • Какво е Python String find ()?
  • Синтаксис на Python string find ()
  • Пример за метод find () със стойности по подразбиране
  • Пример за find () с помощта на аргумент start
  • Пример за find () с помощта на аргументи за начало и край
  • Пример за метод find () За намиране на позицията на даден подниз в низ
  • Python низ rfind ()
  • Индекс на низове на Python ()
  • За да намерите общата поява на подниз

Синтаксис на Python string find ()

Основният синтаксис на функцията за намиране на Python е както следва:

string.find(substring,start,end)

Параметри за метода find ()

Ето три параметъра на функцията String find () в Python:
  • подниз : Поднизът, който искате да търсите в дадения низ.
  • start : (по избор) Началната стойност, от която ще започне търсенето на подниза. По подразбиране е 0.
  • end : (по избор) Крайната стойност, където ще приключи търсенето на подниза. По подразбиране стойността е дължината на низа.

Пример за метод find () със стойности по подразбиране

Параметрите, предадени на метода find () на Python, са подниз, т.е. низът, който искате да търсите, започнете и завършвате. Началната стойност е 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, ще се опитаме да ограничим търсенето, вместо да търсим целия низ.

Пример:

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, когато не намерим подниза, който търсим.

Пример:

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: 27The position of Guru99 is at: -1

Python низ rfind ()

Функцията на Python rfind () е подобна на функцията find () с единствената разлика, че rfind () дава най-високия индекс за дадения подниз и find () дава най-ниския, т.е. най-първия индекс. И rfind () и find () ще върнат -1, ако поднизът не присъства.

В примера по-долу имаме низ "Meet Guru99 Tutorials Site. Най-добрият сайт за уроци по Python!" и ще се опита да намери позицията на уроци за поднизове, използвайки 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() : 12The position of Tutorials using rfind() : 48

Резултатът показва, че find () дава индекса на най-първия подстринг на уроци, който получава, а rfind () дава последния индекс на уроци на подниза.

Индекс на низове на 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() : 12The 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() : -1Traceback (most recent call last):File "task1.py", line 3, in print("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found

В горния пример се опитваме да намерим позицията на подниза "test". Поднизът не присъства в дадения низ и следователно, използвайки find (), получаваме позицията като -1, но за index () изхвърля грешка, както е показано по-горе.

За да намерите общата поява на подниз

За да намерим общия брой пъти, когато поднизът е възникнал в дадения низ, ще използваме функцията find () в Python. Ще премине през низа, използвайки for-loop от 0 до края на низа. Ще използва параметъра startIndex за find ().

Променливите startIndex и count ще бъдат инициализирани на 0. Вътре за -loop ще провери дали поднизът присъства в низа, даден с помощта на find () и startIndex като 0.

Стойността, върната от find (), ако не е -1, ще актуализира startIndex до индекса, където е намерен низът, и също ще увеличи стойността на броя.

Ето работния пример:

my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )

Изход:

The total count of substring test is: 6

Обобщение

  • Методът на Python find () помага да се намери индексът на първото появяване на подниза в дадения низ. Той ще върне -1, ако поднизът не присъства.
  • Параметрите, предадени на метода за намиране на подниза на Python, са подниз, т.е. низът, който искате да търсите, започвате и завършвате. Началната стойност е 0 по подразбиране, а крайната стойност е дължината на низа.
  • Можете да търсите подниза в дадения низ и да посочите началната позиция, откъдето ще започне търсенето. Началният параметър може да се използва за същото.
  • Използвайки параметъра start и end, ще се опитаме да ограничим търсенето, вместо да търсим целия низ.
  • Функцията на Python rfind () е подобна на функцията find () с единствената разлика, че rfind () дава най-високия индекс за дадения подниз и find () дава най-ниския, т.е. най-първия индекс. И rfind () и find () ще върнат -1, ако поднизът не присъства.
  • Индексът на низовете на Python () е още една функция, която ще ви даде позицията на дадения подниз, точно като find (). Единствената разлика между двете е, че index () ще изведе изключение, ако поднизът не присъства в низа и find () ще върне -1.
  • Можем да използваме find (), за да намерим броя на общата поява на подниз в даден низ.