Ce este Python String find ()?
Python String find () este o funcție disponibilă în biblioteca Python pentru a găsi indexul primei apariții a unui șir din șirul dat. Funcția string find () va returna -1 în loc să arunce o excepție, dacă șirul specificat nu este prezent în șirul dat.
În acest tutorial metoda Python string find (), veți afla:
- Ce este Python String find ()?
- Sintaxa șirului Python find ()
- Exemplu de metodă find () cu valori implicite
- Exemplu de find () folosind argumentul start
- Exemplu de find () folosind argumente start și end
- Exemplu de metodă find () Pentru a găsi poziția unui șir dat într-un șir
- Șir Python rfind ()
- Python string index ()
- Pentru a găsi apariția totală a unui șir
Sintaxa șirului Python find ()
Sintaxa de bază a funcției Python find () este după cum urmează:
string.find(substring,start,end)
Parametrii pentru metoda find ()
Iată trei parametri ai funcției String find () în Python:- subșir : substringul pe care doriți să căutați în șirul dat.
- start : (opțional) Valoarea de start de unde va începe căutarea subșirului. În mod implicit, este 0.
- sfârșit : (opțional) Valoarea finală la care se va termina căutarea subșirului. În mod implicit, valoarea este lungimea șirului.
Exemplu de metodă find () cu valori implicite
Parametrii trecuți metodei Python find () sunt un șir, adică șirul pe care doriți să-l căutați, să începeți și să terminați. Valoarea inițială este 0 în mod implicit, iar valoarea finală este lungimea șirului.
În acest exemplu, vom folosi metoda find () în Python cu valori implicite.
Metoda find () va căuta sub șirul și va da poziția primei apariții a șirului. Acum, dacă șirul de caractere este prezent de mai multe ori în șirul dat, totuși vă va întoarce indexul sau poziția primului.
Exemplu:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))
Ieșire:
The position of Tutorials is at: 12
Exemplu de find () folosind argumentul start
Puteți căuta subșirul din șirul dat și puteți specifica poziția de pornire, de unde va începe căutarea. Parametrul start poate fi utilizat pentru același lucru.
Exemplul va specifica poziția de pornire ca 15, iar find () în metoda Python va începe căutarea din poziția 15. Aici, poziția finală va fi lungimea șirului și va căuta până la sfârșitul șirului din 15 poziții încolo.
Exemplu:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Ieșire:
The position of Tutorials is at 48
Exemplu de find () folosind argumente start și end
Folosind parametrii start și end, vom încerca să limităm căutarea, în loc să căutăm întregul șir.
Exemplu:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Ieșire:
The position of Tutorials is at 12
Exemplu de metodă find () Pentru a găsi poziția unui șir dat într-un șir
Știm că find () ne ajută să găsim indicele primei apariții a șirului. Returnează -1 dacă șirul de caractere nu este prezent în șirul dat. Exemplul de mai jos arată indexul când șirul este prezent și -1 când nu găsim șirul pe care îl căutăm.
Exemplu:
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))
Ieșire:
The position of Best site is at: 27The position of Guru99 is at: -1
Șir Python rfind ()
Funcția Python rfind () este similară cu funcția find (), cu singura diferență că rfind () oferă cel mai mare indice pentru șirul dat și find () oferă cel mai mic, adică primul index. Atât rfind (), cât și find () vor întoarce -1 dacă șirul nu este prezent.
În exemplul de mai jos, avem un șir „Meet Guru99 Tutorials Site. Cel mai bun site pentru Python Tutorials!” și va încerca să găsească poziția tutorialelor sub-șir folosind find () și rfind (). Apariția Tutorialelor în șir este de două ori.
Iată un exemplu în care sunt utilizate atât find (), cât ș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"))
Ieșire:
The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48
Rezultatul arată că find () oferă indexul primului substring Tutoriale pe care îl obține, iar rfind () oferă ultimul index al tutorialelor substring.
Python string index ()
Python string index () este o funcție care vă va oferi poziția sub șirului dat la fel ca find (). Singura diferență dintre cele două este că index () va arunca o excepție dacă șirul de caractere nu este prezent în șir și find () va returna -1.
Iată un exemplu de lucru care arată comportamentul 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"))
Ieșire:
The position of Tutorials using find() : 12The position of Tutorials using index() : 12
Obținem aceeași poziție atât pentru find (), cât și pentru index (). Să vedem un exemplu când șirul dat nu este prezent în șir.
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"))
Ieșire:
The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, inprint("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found
În exemplul de mai sus, încercăm să găsim poziția sub-șirului „test”. Șirul nu este prezent în șirul dat și, prin urmare, folosind find (), obținem poziția ca -1, dar pentru index (), aruncă o eroare așa cum se arată mai sus.
Pentru a găsi apariția totală a unui șir
Pentru a găsi numărul total de ocazii în care șirul a apărut în șirul dat, vom folosi funcția find () în Python. Va parcurge șirul folosind for-loop de la 0 până la sfârșitul șirului. Se va folosi parametrul startIndex pentru find ().
Variabilele startIndex și count vor fi inițializate la 0. Inside for -loop va verifica dacă șirul este prezent în interiorul șirului dat folosind find () și startIndex ca 0.
Valoarea returnată de find () dacă nu -1, va actualiza startIndex la indexul în care se găsește șirul și va crește, de asemenea, valoarea de numărare.
Iată exemplul de lucru:
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 )
Ieșire:
The total count of substring test is: 6
rezumat
- Metoda Python string find () ajută la găsirea indexului primei apariții a șirului în șirul dat. Se va întoarce -1 dacă șirul secundar nu este prezent.
- Parametrii trecuți metodei Python find substring sunt sub șir, adică șirul pe care doriți să-l căutați, începeți și terminați. Valoarea inițială este 0 în mod implicit, iar valoarea finală este lungimea șirului.
- Puteți căuta subșirul din șirul dat și puteți specifica poziția de pornire, de unde va începe căutarea. Parametrul start poate fi utilizat pentru același lucru.
- Folosind parametrii start și end, vom încerca să limităm căutarea, în loc să căutăm întregul șir.
- Funcția Python rfind () este similară cu funcția find (), cu singura diferență că rfind () oferă cel mai mare indice pentru șirul dat și find () oferă cel mai mic, adică primul index. Atât rfind (), cât și find () vor întoarce -1 dacă șirul nu este prezent.
- Indicele șirului Python () este încă o altă funcție care vă va oferi poziția sub șirului dat la fel ca find (). Singura diferență dintre cele două este că index () va arunca o excepție dacă șirul de caractere nu este prezent în șir și find () va returna -1.
- Putem folosi find () pentru a găsi numărul apariției totale a unui șir într-un șir dat.