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 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 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 ()

Rezumaศ›i aceastฤƒ postare cu: