Python String find() meetod koos näidetega
⚡ Nutikas kokkuvõte
Python string find() on sisseehitatud meetod, mis tagastab stringis oleva alamstringi esimese esinemise indeksi. See tagastab väärtuse -1, kui alamstringi pole, vältides erandeid.

Mis on Python String leida()?
Python String find() on funktsioon, mis on saadaval Python teeki, et leida antud stringis oleva alamstringi esimese esinemise indeks. Funktsioon find() tagastab väärtuse -1, selle asemel et anda erand, kui määratud alamstring antud stringis puudub. See on üks järgmistest Pythonenimkasutatav string meetodid teksti leidmiseks.
Süntaks of Python string find ()
Põhisüntaks Python Find() funktsioon on järgmine:
string.find(substring,start,end)
Find() meetodi parameetrid
Siin on funktsiooni find() kolm parameetrit Python:
- alamstring: Alamstring, mida soovite antud stringist otsida.
- algus: (valikuline) Algusväärtus, kust alamstringi otsing algab. Vaikimisi on see 0.
- lõpp: (valikuline) Lõppväärtus, kus alamstringi otsing lõpeb. Vaikimisi on väärtuseks stringi pikkus.
Vaikeväärtustega meetodi find() näide
Parameetrid edastati Python find() meetodi väärtused on alamstring, st string, mida soovite otsida, pluss algus- ja lõppväärtus. Algusväärtus on vaikimisi 0 ja lõppväärtus on stringi pikkus.
Selles näites kasutame meetodit find() Python vaikeväärtustega.
Meetod find() otsib alamsõnet ja annab alamsõnge esimese esinemise positsiooni. Kui alamsõnge esineb antud stringis mitu korda, tagastab see ikkagi esimese esinemise indeksi või positsiooni.
Näide:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))
Väljund:
The position of Tutorials is at: 12
Näide: find(), kasutades algusargumenti
Saate otsida antud stringist alamstringi ja määrata alguspunkti, kust otsing algab. Selleks saab kasutada parameetrit start.
Allolev näide määrab alguspositsiooniks 20 ja find() meetodiks Python alustab otsingut positsioonilt 20. Siin on lõpppositsiooniks stringi pikkus, seega otsitakse stringi lõpuni alates positsioonist 20.
Näide:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Väljund:
The position of Tutorials is at 48
Näide find()-st, kasutades algus- ja lõppargumente
Parameetrite start ja end abil saame otsingut piirata, selle asemel et otsida kogu stringist.
Näide:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Väljund:
The position of Tutorials is at 12
Näide find() meetodist antud alamstringi positsiooni leidmiseks stringis
Me teame, et find() aitab meil leida alamstringi esimese esinemise indeksi. See tagastab -1, kui alamstring antud stringis puudub. Allolev näide näitab indeksit, kui string on olemas, ja -1, kui otsitavat alamstringi ei leita.
Näide:
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äljund:
The position of Best site is at: 27 The position of Guru99 is at: -1
Python string rfind()
. Python Funktsioon rfind() sarnaneb funktsiooniga find(), ainsa erinevusega, et rfind() annab antud alamstringi kõrgeima indeksi, samas kui find() annab madalaima ehk kõige esimese indeksi. Nii rfind() kui ka find() tagastavad -1, kui alamstringi pole.
Allolevas näites on meil string „Kohtume Guru99 õpetuste sait. Parim sait Python Tutorials!” ja püüab leida alamsõne „Tutorials” positsiooni, kasutades funktsioone find() ja rfind(). Alamsõne „Tutorials” esineb sõnes kaks korda.
Siin on näide, kus kasutatakse nii find() kui ka 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äljund:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
Väljund näitab, et find() annab esimese leitud „Tutorials” alamsõne indeksi, samas kui rfind() annab „Tutorials” alamsõne viimase indeksi.
Python string index()
. Python string index() on funktsioon, mis annab antud alamstringi positsiooni, täpselt nagu find(). Ainus erinevus nende kahe vahel on see, et index() viskab erandi, kui alamstringi stringis pole, samas kui find() tagastab -1.
Siin on toimiv näide, mis näitab index() ja find() käitumist.
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äljund:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Nii find() kui ka index() puhul saame sama positsiooni. Vaatame näidet, kus antud alamstringi stringis pole.
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äljund:
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
Ülaltoodud näites püüame leida alamstringi „test“ positsiooni. Alamstring antud stringis puudub, seega find() abil saame positsiooniks -1, kuid index() annab vea, nagu eespool näidatud.
Alamstringi koguesinemise leidmiseks
Selleks, et leida, mitu korda alamsõnge on antud sõnes esinenud, kasutame funktsiooni find() PythonMe käime stringi läbi for-tsükliga alates 0-st kuni stringi lõpuni, kasutades find() funktsiooni startIndex parameetrit.
Muutujad startIndex ja count initsialiseeritakse väärtuseks 0. For-tsükli sees kontrollime funktsiooni find() abil, kas antud stringis on alamsõne olemas ja startIndex on 0.
Funktsiooni find() tagastatud väärtus, kui see pole -1, uuendab startIndexi indeksiks, kust string leiti, ja suurendab ka count'i väärtust.
Siin on töönäide:
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 )
Väljund:
The total count of substring test is: 6
» Lisateave Python String split()
