Python Metoda String find() s primjerima
ล to je Python String find()?
Python String find() je funkcija dostupna u Python knjiลพnica za pronalaลพenje indeksa prvog pojavljivanja podniza iz danog niza. Funkcija string find() vratit ฤe -1 umjesto izbacivanja iznimke, ako navedeni podniz nije prisutan u danom nizu.
Sintaksa od Python traลพenje niza()
Osnovna sintaksa Python funkcija find() je sljedeฤa:
string.find(substring,start,end)
Parametri za metodu find().
Ovdje su tri parametra funkcije String find(). Python:
- podniz: podniz koji ลพelite pretraลพivati โโu danom nizu.
- poฤetak: (neobavezno) Poฤetna vrijednost od koje ฤe zapoฤeti traลพenje podniza. Prema zadanim postavkama, to je 0.
- kraj: (neobavezno) Krajnja vrijednost gdje ฤe zavrลกiti traลพenje podniza. Prema zadanim postavkama vrijednost je duljina niza.
Primjer metode find() sa zadanim vrijednostima
Parametri proslijeฤeni Python metoda find() je podniz, tj. niz koji ลพelite traลพiti, poฤetak i kraj. Poฤetna vrijednost je 0 prema zadanim postavkama, a krajnja vrijednost je duljina niza.
U ovom primjeru koristit ฤemo metodu find() in Python sa zadanim vrijednostima.
Metoda find() traลพit ฤe podniz i dati poziciju prvog pojavljivanja podniza. Sada, ako je podniz prisutan viลกe puta u danom nizu, ipak ฤe vam vratiti indeks ili poziciju 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 find() koristeฤi poฤetni argument
Moลพete pretraลพivati โโpodniz u zadanom nizu i odrediti poฤetnu poziciju, odakle ฤe pretraga zapoฤeti. Za isto se moลพe koristiti poฤetni parametar.
Primjer ฤe odrediti poฤetnu poziciju kao 15, a find() in Python metoda ฤe zapoฤeti pretraลพivanje od pozicije 15. Ovdje ฤe krajnja pozicija biti duljina niza i pretraลพivat ฤe do kraja niza od 15 pozicija 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 find() koji koristi poฤetne i zavrลกne argumente
Koristeฤi poฤetni i zavrลกni parametar, 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 zadanog podniza u nizu
Znamo da nam find() pomaลพe pronaฤi indeks prvog pojavljivanja podniza. Vraฤa -1 ako podniz nije prisutan u danom nizu. Primjer u nastavku prikazuje indeks kada je niz prisutan i -1 kada ne pronaฤemo 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: 27 The position of Guru99 is at: -1
Python string rfind()
The Python funkcija rfind() sliฤna je funkciji find() s jedinom razlikom ลกto rfind() daje najviลกi indeks za dani 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 znakova โSusret Guru99 stranica s tutorijalima. Najbolja stranica za Python Tutoriali!โ i pokuลกat ฤe pronaฤi poloลพaj podniza Upute koristeฤi find() i rfind(). Upute se u nizu pojavljuju dvaput.
Ovdje je primjer 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() : 12 The position of Tutorials using rfind() : 48
Izlaz pokazuje da find() daje indeks prvog podniza Tutorials koji dobiva, a rfind() daje posljednji indeks podniza Tutorials.
Python indeks niza()
The Python string index() je funkcija koja ฤe vam dati poziciju zadanog podniza kao i find(). Jedina razlika izmeฤu to dvoje je ลกto ฤe index() izbaciti iznimku ako podniz nije prisutan u nizu, a find() ฤe vratiti -1.
Ovdje je radni primjer 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() : 12 The position of Tutorials using index() : 12
Dobivamo istu poziciju i za find() i za index(). Pogledajmo primjer kada navedeni 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() : -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
U gornjem primjeru pokuลกavamo pronaฤi poziciju podniza "test". Podniz nije prisutan u zadanom nizu, pa koriลกtenjem find() dobivamo poziciju -1, ali za index() izbacuje pogreลกku kao ลกto je gore prikazano.
Da biste pronaลกli ukupno pojavljivanje podniza
Da bismo pronaลกli ukupan broj puta koliko se podniz pojavio u danom nizu, upotrijebit ฤemo funkciju find() u Python. Prolazit ฤe kroz niz koristeฤi for-petlju od 0 do kraja niza. Koristit ฤe se parametar startIndex za find().
Varijable startIndex i count inicijalizirat ฤe se na 0. Inside for โloop ฤe provjeriti je li podniz prisutan unutar niza zadanog pomoฤu find() i startIndex kao 0.
Vrijednost vraฤena od find(), ako nije -1, aลพurirat ฤe startIndex na indeks gdje je niz pronaฤen i takoฤer ฤe poveฤati vrijednost brojanja.
Evo radnog primjera:
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 )
Izlaz:
The total count of substring test is: 6
Rezime
- The Python string find() metoda pomaลพe u pronalaลพenju indeksa prvog pojavljivanja podniza u zadanom nizu. Vratit ฤe -1 ako podniz nije prisutan.
- Parametri proslijeฤeni Python find substring metoda je podniz, tj. niz koji ลพelite traลพiti, poฤetak i kraj. Poฤetna vrijednost je 0 prema zadanim postavkama, a krajnja vrijednost je duljina niza.
- Moลพete pretraลพivati โโpodniz u zadanom nizu i odrediti poฤetnu poziciju, odakle ฤe pretraga zapoฤeti. Za isto se moลพe koristiti poฤetni parametar.
- Koristeฤi poฤetni i zavrลกni parametar, pokuลกat ฤemo ograniฤiti pretraลพivanje, umjesto pretraลพivanja cijelog niza.
- The Python funkcija rfind() je sliฤna funkciji find() s jedinom razlikom ลกto rfind() daje najviลกi indeks za dani podniz, a find() daje najniลพi, tj. prvi indeks. I rfind() i find() vratit ฤe -1 ako podniz nije prisutan.
- The Python string index() je joลก jedna funkcija koja ฤe vam dati poziciju podniza zadanog baลก kao i find(). Jedina razlika izmeฤu to dvoje je ลกto ฤe index() izbaciti iznimku ako podniz nije prisutan u nizu, a find() ฤe vratiti -1.
- Moลพemo upotrijebiti find() da pronaฤemo ukupan broj pojavljivanja podniza u danom nizu.
" Nauฤi viลกe o Python Split split()
