Metóda Python String find () s príkladmi

Obsah:

Anonim

Čo je Python String find ()?

Python String find () je funkcia dostupná v knižnici Python na vyhľadanie indexu prvého výskytu podreťazca z daného reťazca. Funkcia hľadania reťazcov () vráti -1 namiesto vyvolania výnimky, ak zadaný podreťazec nie je v danom reťazci.

V tomto výučbe metódy hľadania reťazcov () v jazyku Python sa dozviete:

  • Čo je Python String find ()?
  • Syntax reťazca Python find ()
  • Príklad metódy find () s predvolenými hodnotami
  • Príklad find () pomocou argumentu start
  • Príklad find () pomocou argumentov start a end
  • Príklad metódy find () Na vyhľadanie polohy daného podreťazca v reťazci
  • Python string rfind ()
  • Index reťazca Pythonu ()
  • Ak chcete zistiť celkový výskyt podreťazca

Syntax reťazca Python find ()

Základná syntax funkcie find () Pythonu je nasledovná:

string.find(substring,start,end)

Parametre pre metódu find ()

Tu sú tri parametre funkcie String find () v Pythone:
  • podreťazec : Podreťazec, ktorý chcete vyhľadať v danom reťazci.
  • start : (voliteľné) Počiatočná hodnota, od ktorej sa začne hľadanie podreťazca. Predvolene je to 0.
  • end : (voliteľné) Koncová hodnota, kde sa skončí hľadanie podreťazca. Predvolene je to hodnota dĺžky reťazca.

Príklad metódy find () s predvolenými hodnotami

Parametre odovzdané metóde Python find () sú podreťazec, tj reťazec, ktorý chcete vyhľadať, začať a skončiť. Počiatočná hodnota je predvolene 0 a koncová hodnota je dĺžka reťazca.

V tomto príklade použijeme metódu find () v Pythone s predvolenými hodnotami.

Metóda find () vyhľadá podreťazec a poskytne pozíciu úplne prvého výskytu podreťazca. Teraz, ak je podreťazec v danom reťazci prítomný viackrát, vráti vám index alebo pozíciu prvého.

Príklad:

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

Výkon:

The position of Tutorials is at: 12

Príklad find () pomocou argumentu start

Môžete vyhľadať podreťazec v danom reťazci a určiť začiatočnú pozíciu, od ktorej sa bude hľadať hľadať. Pre to isté je možné použiť štartovací parameter.

V príklade bude zadaná počiatočná pozícia ako 15 a metóda find () v metóde Python začne hľadať od pozície 15. Koncová pozícia bude mať dĺžku reťazca a bude hľadať do konca reťazca z 15 pozícií. ďalej.

Príklad:

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

Výkon:

The position of Tutorials is at 48

Príklad find () pomocou argumentov start a end

Pomocou parametra start a end sa pokúsime obmedziť prehľadávanie, namiesto prehľadávania celého reťazca.

Príklad:

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

Výkon:

The position of Tutorials is at 12

Príklad metódy find () Na vyhľadanie polohy daného podreťazca v reťazci

Vieme, že find () nám pomáha nájsť index prvého výskytu podreťazca. Ak podreťazec nie je v danom reťazci, vráti hodnotu -1. Nasledujúci príklad ukazuje index, keď je prítomný reťazec, a -1, keď nenájdeme podreťazec, ktorý hľadáme.

Príklad:

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))

Výkon:

The position of Best site is at: 27The position of Guru99 is at: -1

Python string rfind ()

Funkcia Python rfind () je podobná funkcii find () s jediným rozdielom, že rfind () dáva najvyšší index pre daný podreťazec a find () dáva najnižší, tj úplne prvý index. Rfind () aj find () vrátia hodnotu -1, ak podreťazec nie je prítomný.

V príklade nižšie máme reťazec „Meet Guru99 Tutorials Site. Best site for Python Tutorials!“ a pokúsi sa nájsť pozíciu podreťazcov Tutorials pomocou find () a rfind (). Výukový program je v reťazci dvakrát.

Tu je príklad, kde sa používajú hodnoty find () aj 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"))

Výkon:

The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48

Výstup ukazuje, že find () dáva index úplne prvého podreťazca Tutorials, ktorý získa, a rfind () dáva posledný index podreťazca Tutorials.

Index reťazca Pythonu ()

Reťazec indexu () v Pythone je funkcia, ktorá vám dá pozíciu podreťazca, podobne ako find (). Jediný rozdiel medzi nimi je ten, že index () spôsobí výnimku, ak podreťazec nie je v reťazci a find () vráti -1.

Tu je pracovný príklad, ktorý ukazuje správanie index () a 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"))

Výkon:

The position of Tutorials using find() : 12The position of Tutorials using index() : 12

Získavame rovnaké pozície pre find () aj index (). Pozrime sa na príklad, keď daný podreťazec nie je v reťazci.

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"))

Výkon:

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

Vo vyššie uvedenom príklade sa snažíme nájsť pozíciu podreťazca „test“. Podreťazec nie je v danom reťazci prítomný, a teda pomocou find () dostaneme pozíciu ako -1, ale pre index () vyvolá chybu, ako je uvedené vyššie.

Ak chcete zistiť celkový výskyt podreťazca

Na zistenie celkového počtu výskytov podreťazca v danom reťazci využijeme v jazyku Python funkciu find (). Bude prechádzať reťazcom pomocou cyklu for-loop od 0 do konca reťazca. Využije parameter startIndex pre find ().

Premenné startIndex a count budú inicializované na 0. Inside for -loop skontroluje, či je podreťazec vnútri reťazca daného pomocou find () a startIndex ako 0.

Hodnota vrátená z find (), ak nie -1, aktualizuje startIndex na index, kde sa nachádza reťazec, a tiež zvýši hodnotu počtu.

Tu je pracovný príklad:

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 )

Výkon:

The total count of substring test is: 6

Zhrnutie

  • Metóda Python string find () pomáha nájsť index prvého výskytu podreťazca v danom reťazci. Ak podreťazec nie je k dispozícii, vráti hodnotu -1.
  • Parametre odovzdané metóde nájdenia podreťazca Pythonu sú podreťazec, tj. Reťazec, ktorý chcete vyhľadať, začať a skončiť. Počiatočná hodnota je predvolene 0 a koncová hodnota je dĺžka reťazca.
  • Môžete vyhľadať podreťazec v danom reťazci a určiť začiatočnú pozíciu, od ktorej sa bude hľadať hľadať. Pre to isté je možné použiť štartovací parameter.
  • Pomocou parametra start a end sa pokúsime obmedziť prehľadávanie, namiesto prehľadávania celého reťazca.
  • Funkcia Python rfind () je podobná funkcii find () s jediným rozdielom, že rfind () dáva najvyšší index pre daný podreťazec a find () dáva najnižší, tj úplne prvý index. Rfind () aj find () vrátia hodnotu -1, ak podreťazec nie je prítomný.
  • Reťazec indexu Python () je ďalšou funkciou, ktorá vám dá pozíciu podreťazca, podobne ako find (). Jediný rozdiel medzi nimi je ten, že index () spôsobí výnimku, ak podreťazec nie je v reťazci a find () vráti -1.
  • Môžeme použiť find () na nájdenie počtu celkových výskytov podreťazca v danom reťazci.