Python String find () metoda s primjerima

Sadržaj:

Anonim

Što je Python String find ()?

Python String find () funkcija je koja je dostupna u Python biblioteci za pronalaženje indeksa prvog pojavljivanja podniza iz zadanog niza. Funkcija string find () vratit će -1 umjesto da izbaci iznimku, ako navedeni podniz nije prisutan u danom nizu.

U ovom vodiču za metodu pronalaženja Python stringa naučit ćete:

  • Što je Python String find ()?
  • Sintaksa Python string find ()
  • Primjer metode find () sa zadanim vrijednostima
  • Primjer pronalaska () pomoću startnog argumenta
  • Primjer pronalaska () pomoću argumenata početak i kraj
  • Primjer metode find () Za pronalaženje položaja datog podniza u nizu
  • Python niz rfind ()
  • Indeks Python niza ()
  • Da biste pronašli ukupnu pojavu podniza

Sintaksa Python string find ()

Osnovna sintaksa funkcije Python find () je kako slijedi:

string.find(substring,start,end)

Parametri za metodu find ()

Evo tri parametra funkcije String find () u Pythonu:
  • podniz : podniz koji želite pretraživati ​​u zadanom nizu.
  • start : (nije obavezno) Početna vrijednost odakle započinje traženje podniza. Po defaultu je 0.
  • kraj : (nije obavezno) Krajnja vrijednost na kojoj će završiti pretraživanje podniza. Prema zadanim postavkama vrijednost je duljina niza.

Primjer metode find () sa zadanim vrijednostima

Parametri prosljeđeni metodi Python find () su podniz, tj. Niz koji želite potražiti, započeti i završiti. Početna vrijednost je 0 prema zadanim postavkama, a krajnja vrijednost duljina niza.

U ovom ćemo primjeru koristiti metodu find () u Pythonu sa zadanim vrijednostima.

Metoda find () pretražit će podniz i dati položaj prve pojave pod niza. Ako je podniz više puta prisutan u zadanom nizu, vratit će vam indeks ili položaj prvog.

Primjer:

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

Izlaz:

The position of Tutorials is at: 12

Primjer pronalaska () pomoću startnog argumenta

Možete pretraživati ​​podniz u zadanom nizu i odrediti početni položaj odakle započinje pretraživanje. Parametar start može se koristiti za isto.

Primjer će odrediti početni položaj kao 15, a find () u Python metodi započet će pretraživanje s položaja 15. Ovdje će krajnji položaj biti duljina niza i tražit će do kraja niza s 15 položaja pa nadalje.

Primjer:

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

Izlaz:

The position of Tutorials is at 48

Primjer pronalaska () pomoću argumenata početak i kraj

Korištenjem parametra početak i kraj pokušat ćemo ograničiti pretraživanje, umjesto pretraživanja cijelog niza.

Primjer:

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

Izlaz:

The position of Tutorials is at 12

Primjer metode find () Za pronalaženje položaja datog podniza u nizu

Znamo da nam find () pomaže pronaći indeks prve pojave podniza. Vraća -1 ako podniz nije prisutan u zadanom nizu. Primjer u nastavku prikazuje indeks kada je niz prisutan i -1 kada ne nalazimo podniz koji tražimo.

Primjer:

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

Izlaz:

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

Python niz rfind ()

Pythonova funkcija rfind () slična je funkciji find () s jedinom razlikom što rfind () daje najviši indeks za zadani podniz, a find () daje najniži, tj. Prvi indeks. I rfind () i find () vratit će -1 ako podniz nije prisutan.

U donjem primjeru imamo niz "Upoznajte stranicu s vodičima za Guru99. Najbolja stranica za tutorijale za Python!" i pokušat će pronaći položaj Vodiča za podniz koristeći find () i rfind (). Pojava Tutoriala u nizu je dva puta.

Evo primjera gdje se koriste i find () i 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"))

Izlaz:

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

Izlaz pokazuje da find () daje indeks prvih podvoda Tutorials-a koji dobiva, a rfind () daje zadnji indeks Tutoriala pod-nizova.

Indeks Python niza ()

Indeks Python niza () funkcija je koja će vam dati položaj podniza koji se daje baš kao i find (). Jedina razlika između njih dvije je što će index () izuzeti ako podniz nije prisutan u nizu, a find () će vratiti -1.

Evo radnog primjera koji pokazuje ponašanje index () i 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"))

Izlaz:

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

Dobivamo isti položaj i za find () i za index (). Pogledajmo primjer kada zadani podniz nije prisutan u nizu.

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

Izlaz:

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

U gornjem primjeru pokušavamo pronaći položaj podniza "test". Podniz nije prisutan u zadanom nizu i stoga pomoću find () dobivamo položaj kao -1, ali za index () baca pogrešku kao što je gore prikazano.

Da biste pronašli ukupnu pojavu podniza

Da bismo pronašli ukupan broj pojavljivanja podniza u zadanom nizu, poslužit ćemo se funkcijom find () u Pythonu. Proći će kroz niz pomoću for-loop od 0 do kraja niza. Upotrijebit će parametar startIndex za find ().

Varijable startIndex i count inicijalizirat će se na 0. Unutar -loop će provjeriti je li podniz prisutan unutar niza datog pomoću find (), a startIndex kao 0.

Vrijednost vraćena iz find () ako nije -1, ažurirat će startIndex na indeks u kojem se nalazi niz i također će povećati vrijednost brojanja.

Evo radnog primjera:

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 )

Izlaz:

The total count of substring test is: 6

Sažetak

  • Način pronalaska Python string () pomaže pronaći indeks prvog pojavljivanja podniza u danom nizu. Vratit će -1 ako podniz nije prisutan.
  • Parametri prosljeđeni metodi pronalaska podniza Python su podniz, tj. Niz koji želite potražiti, započeti i završiti. Početna vrijednost je 0 prema zadanim postavkama, a krajnja vrijednost duljina niza.
  • Možete pretraživati ​​podniz u zadanom nizu i odrediti početni položaj odakle započinje pretraživanje. Parametar start može se koristiti za isto.
  • Korištenjem parametra početak i kraj pokušat ćemo ograničiti pretraživanje, umjesto pretraživanja cijelog niza.
  • Pythonova funkcija rfind () slična je funkciji find () s jedinom razlikom što rfind () daje najviši indeks za zadani podniz, a find () daje najniži, tj. Prvi indeks. I rfind () i find () vratit će -1 ako podniz nije prisutan.
  • Indeks Python nizova () još je jedna funkcija koja će vam dati položaj podniza datog poput find (). Jedina razlika između njih dvije je što će index () izuzeti ako podniz nije prisutan u nizu, a find () će vratiti -1.
  • Možemo koristiti find () za pronalaženje broja ukupnog pojavljivanja podniza u danom nizu.