Python Metoda String find() cu exemple
⚡ Rezumat inteligent
Python `string find()` este o metodă încorporată care returnează indexul primei apariții a unui subșir dintr-un șir. Returnează -1 când subșirul nu este prezent, evitând excepțiile.

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 dintr-un șir dat. Funcția find() returnează -1 în loc să arunce o excepție atunci când subșirul specificat nu este prezent în șirul dat. Este una dintre Pythoncel mai utilizat metode cu șiruri pentru localizarea textului.
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ă cei trei parametri ai funcției find() din Python:
- subcordSubșirul pe care doriți să îl căutați în șirul dat.
- Începe(opțional) Valoarea inițială de la care va începe căutarea subșirului. În mod implicit, este 0.
- capăt(opțional) Valoarea finală la care se va încheia căutarea subșirului. În mod implicit, valoarea este lungimea șirului.
Exemplu de metoda find() cu valori implicite
Parametrii transmiși către Python Metoda find() reprezintă subșirul, adică șirul pe care doriți să îl căutați, plus valorile de început și de sfârșit. Valoarea de început este 0 în mod implicit, iar valoarea de sfârșit este lungimea șirului.
În acest exemplu, vom folosi metoda find() în Python cu valori implicite.
Metoda find() va căuta subșirul și va indica poziția primei apariții a subșirului. Dacă subșirul este prezent de mai multe ori în șirul dat, va returna în continuare 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 poziția de început de unde va începe căutarea. Parametrul de început poate fi utilizat în acest scop.
Exemplul de mai jos specifică poziția de început ca fiind 20 și metoda find() din Python va începe căutarea de la poziția 20. Aici, poziția finală va fi lungimea șirului de caractere, deci va căuta până la sfârșitul șirului de caractere de la poziția 20 î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 parametrii de început și de sfârșit, putem limita căutarea în loc să căutăm întregul șir de caractere.
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 de caractere
Știm că find() ne ajută să găsim indexul primei apariții a unui subșir. Returnează -1 dacă subșirul nu este prezent în șirul dat. Exemplul de mai jos arată indexul atunci când șirul este prezent și -1 atunci când subșirul pe care îl căutăm nu este găsit.
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ță fiind că rfind() oferă cel mai mare index pentru subșirul dat, în timp ce find() oferă cel mai mic index, adică primul index. Atât rfind(), cât și find() returnează -1 dacă subșirul nu este prezent.
În exemplul de mai jos, avem un șir de caractere „Meet GuruSite cu 99 de tutoriale. Cel mai bun site pentru Python Tutoriale!” și va încerca să găsească poziția subșirului Tutorials folosind find() și rfind(). Subșirul Tutorials apare de două ori în șir.
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 tip Tutorials pe care îl găsește, în timp ce rfind() oferă ultimul index al subșirului Tutorials.
Python index de șir ()
Python Funcția `string index()` este o funcție care îți oferă poziția subșirului dat, la fel ca `find(). Singura diferență dintre cele două este că `index()` generează o excepție dacă subșirul nu este prezent în șir, în timp ce `find()` returnează -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 în care 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, așa că folosind find() obținem poziția ca -1, dar pentru index() se generează o eroare, așa cum se arată mai sus.
Pentru a găsi apariția totală a unui subșir
Pentru a afla numărul total de apariții ale unui subșir în șirul dat, vom folosi funcția find() în PythonVom parcurge șirul folosind o buclă for de la 0 până la sfârșitul șirului, utilizând parametrul startIndex pentru find().
Variabilele startIndex și count vor fi inițializate la 0. În interiorul buclei for, vom verifica dacă subșirul este prezent în șirul dat folosind find() cu startIndex ca 0.
Valoarea returnată de find(), dacă nu este -1, va actualiza startIndex la indexul în care este găsit șirul și va incrementa, de asemenea, valoarea numărătorului.
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
" Află mai multe despre Python Împărțire șiruri ()
