Python Metoda String find() s primjerima
โก Pametni saลพetak
Python string find() je ugraฤena metoda koja vraฤa indeks prvog pojavljivanja podniza unutar niza. Vraฤa -1 kada podniz nije prisutan, izbjegavajuฤi iznimke.

ล to je Python String find()?
Python String find() je funkcija dostupna u Python biblioteka za pronalaลพenje indeksa prvog pojavljivanja podniza unutar zadanog niza. Funkcija find() vraฤa -1 umjesto bacanja iznimke kada navedeni podniz nije prisutan u zadanom nizu. To je jedan od Pythonnajฤeลกฤe koriลกten string metode za lociranje teksta.
Sintaksa od Python traลพenje niza()
Osnovna sintaksa Python funkcija find() je sljedeฤa:
string.find(substring,start,end)
Parametri za metodu find().
Evo tri parametra funkcije find() u Python:
- podnizPodniz koji ลพelite pretraลพiti u zadanom nizu.
- poฤetak: (neobavezno) Poฤetna vrijednost od koje ฤe zapoฤeti pretraga podniza. Prema zadanim postavkama, to je 0.
- kraj: (neobavezno) Zavrลกna vrijednost gdje ฤe zavrลกiti pretraลพivanje podniza. Prema zadanim postavkama, vrijednost je duljina niza.
Primjer metode find() sa zadanim vrijednostima
Parametri koji se prosljeฤuju Python Metoda find() je podniz, odnosno niz koji ลพelite pretraลพiti, plus poฤetak i kraj. Poฤetna vrijednost je prema zadanim postavkama 0, a krajnja vrijednost je duljina niza.
U ovom primjeru koristit ฤemo metodu find() u Python sa zadanim vrijednostima.
Metoda find() ฤe traลพiti podniz i dati poziciju prvog pojavljivanja podniza. Ako se podniz pojavljuje viลกe puta u zadanom nizu, i dalje ฤe 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 traลพiti podniz u zadanom nizu i odrediti poฤetnu poziciju od koje ฤe pretraลพivanje zapoฤeti. U tu svrhu moลพe se koristiti parametar start.
U donjem primjeru poฤetna pozicija je odreฤena kao 20, a metoda find() u Python zapoฤet ฤe pretraลพivanje od pozicije 20. Ovdje ฤe krajnja pozicija biti duljina niza, pa se pretraลพuje do kraja niza od pozicije 20 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
Koriลกtenjem poฤetnih i zavrลกnih parametara moลพemo ograniฤiti pretragu 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 pozicije zadanog podniza u nizu
Znamo da nam find() pomaลพe pronaฤi indeks prvog pojavljivanja podniza. Vraฤa -1 ako podniz nije prisutan u zadanom nizu. Primjer u nastavku prikazuje indeks kada je niz prisutan i -1 kada podniz koji traลพimo nije pronaฤen.
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 zadani podniz, dok find() daje najniลพi, odnosno prvi indeks. I rfind() i find() vraฤaju -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 poziciju podniza Tutorials koristeฤi find() i rfind(). Podniz Tutorials se pojavljuje dva puta u nizu.
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 pronaฤe, dok rfind() daje posljednji indeks podniza Tutorials.
Python indeks niza()
The Python Funkcija index() u nizu vraฤa poziciju zadanog podniza, baลก kao i find(). Jedina razlika izmeฤu njih je u tome ลกto index() baca iznimku ako podniz nije prisutan u nizu, dok find() vraฤa -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 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() : -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 funkcije find() dobivamo poziciju kao -1, ali za index() izbacuje greลกku, kao ลกto je prikazano gore.
Da biste pronaลกli ukupno pojavljivanje podniza
Da bismo pronaลกli ukupan broj pojavljivanja podniza u zadanom nizu, koristit ฤemo funkciju find() u PythonProฤi ฤemo kroz niz pomoฤu for petlje od 0 do kraja niza, koristeฤi parametar startIndex za find().
Varijable startIndex i count bit ฤe inicijalizirane na 0. Unutar for-petlje provjerit ฤemo je li podniz prisutan unutar zadanog niza koristeฤi find() s startIndexom kao 0.
Vrijednost vraฤena iz find(), ako nije -1, aลพurirat ฤe startIndex na indeks gdje je niz pronaฤen i takoฤer ฤe poveฤati vrijednost count.
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
" Nauฤi viลกe o Python Split split()
