Python Metoda String find() cu exemple
Ce Este Python String find()?
Python String find() este o funcție disponibilă în Python bibliotecă pentru a găsi indexul primei apariții a unui subșir din șirul dat. Funcția șir find() va returna -1 în loc să arunce o excepție, dacă subșirul specificat nu este prezent în șirul dat.
Sintaxa lui Python șir găsi ()
Sintaxa de bază a Python Funcția find() este după cum urmează:
string.find(substring,start,end)
Parametrii pentru metoda find().
Iată trei parametri ai funcției String find() în Python:
- subcord: Subșirul pe care doriți să îl căutați în șirul dat.
- Începe: (opțional) Valoarea de început de unde va începe căutarea subșirului. În mod implicit, este 0.
- capăt: (opțional) Valoarea finală la care se va termina căutarea subșirului. În mod implicit, valoarea este lungimea șirului.
Exemplu de metoda find() cu valori implicite
Parametrii trecuți la Python metoda find() sunt subșiruri, adică șirul pe care doriți să îl căutați, să începeți și să îl terminați. Valoarea de început 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 subșirului. Acum, dacă subșirul este prezent de mai multe ori în șirul dat, tot îți va returna 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 în șirul dat și specificați poziția de început, de unde va începe căutarea. Parametrul de pornire poate fi utilizat pentru același lucru.
Exemplul va specifica poziția de început ca 15 și find() în Python metoda va începe căutarea de la poziția 15. Aici, poziția finală va fi lungimea șirului și va căuta până la sfârșitul șirului de la 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 argumentele start și end
Folosind parametrul 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 subșir dat într-un șir
Știm că find() ne ajută să găsim indexul primei apariții a subșirului. Returnează -1 dacă subșirul nu este prezent în șirul dat. Exemplul de mai jos arată indexul când șirul este prezent și -1 când nu găsim subș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: 27 The position of Guru99 is at: -1
Python șir rfind()
Python funcția rfind() este similară cu funcția find(), singura diferență este că rfind() oferă cel mai mare indice pentru subșirul dat și find() oferă cel mai mic, adică primul indice. Atât rfind() cât și find() vor returna -1 dacă subșirul nu este prezent.
În exemplul de mai jos, avem un șir „Meet Guru99 Tutorials Site. Cel mai bun site pentru Python Tutoriale!” și va încerca să găsească poziția subșirului de tutoriale folosind find() și rfind(). Apariția Tutorialelor în șir este de două ori.
Iată un exemplu în care sunt folosite 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() : 12 The position of Tutorials using rfind() : 48
Rezultatul arată că find() oferă indexul primului subșir de tutoriale pe care îl primește, iar rfind() oferă ultimul index al subșirului de tutoriale.
Python index de șir ()
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ă subșirul 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() : 12 The 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 subș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() : -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
În exemplul de mai sus, încercăm să găsim poziția subșirului „test”. Subș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 subșir
Pentru a găsi numărul total de ori a apărut subșirul în șirul dat, vom folosi funcția find() din Python. Va trece prin șir folosind for-loop de la 0 până la sfârșitul șirului. Va folosi parametrul startIndex pentru find().
Variabilele startIndex și count vor fi inițializate la 0. Inside for –loop va verifica dacă subșirul este prezent în șirul dat folosind find() și startIndex ca 0.
Valoarea returnată de la find() dacă nu -1, va actualiza startIndex la indexul în care este găsit șirul și, de asemenea, va incrementa valoarea numărului.
Iată exemplul de lucru:
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 )
ieșire:
The total count of substring test is: 6
Rezumat
- Python Metoda string find() ajută la găsirea indexului primei apariții a subșirului din șirul dat. Va returna -1 dacă subșirul nu este prezent.
- Parametrii trecuți la Python metoda find substring sunt subșir, adică șirul pe care doriți să îl căutați, să începeți și să-l terminați. Valoarea de început este 0 în mod implicit, iar valoarea finală este lungimea șirului.
- Puteți căuta subșirul în șirul dat și specificați poziția de început, de unde va începe căutarea. Parametrul de pornire poate fi utilizat pentru același lucru.
- Folosind parametrul start și end, vom încerca să limităm căutarea, în loc să căutăm întregul șir.
- Python funcţie rfind() este similar cu funcția find() cu singura diferență este că rfind() oferă cel mai mare indice pentru subșirul dat și find() oferă cel mai mic, adică primul indice. Atât rfind() cât și find() vor returna -1 dacă subșirul nu este prezent.
- Python string index() 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ă subșirul nu este prezent în șir și find() va returna -1.
- Putem folosi find() pentru a găsi numărul apariției totale a unui subșir într-un șir dat.
" Află mai multe despre Python Împărțire șiruri ()
