Python String find () metodas su pavyzdžiais

Kas yra „Python String find“ ()?

„Python String find“) yra „Python“ bibliotekoje pasiekiama funkcija, skirta surasti pirmojo poskirsnio iš nurodytos eilutės indeksą. Funkcija „string ()“ grąžins -1, užuot metusi išimtį, jei nurodytos eilutės nėra nurodytoje eilutėje.

Šioje „Python“ eilutės paieškos () metodo pamokoje sužinosite:

  • Kas yra „Python String find“ ()?
  • „Python“ eilutės paieškos sintaksė ()
  • „Find ()“ metodo pavyzdys su numatytosiomis reikšmėmis
  • Find () pavyzdys naudojant argumentą start
  • Find () pavyzdys, naudojant pradžios ir pabaigos argumentus
  • „Find ()“ metodo pavyzdys Norėdami rasti nurodytos eilutės eilutę
  • „Python“ eilutė rfind ()
  • „Python“ eilutės indeksas ()
  • Norėdami surasti bendrą poskyrio atvejį

„Python“ eilutės paieškos sintaksė ()

Pagrindinė „Python find“) funkcijos sintaksė yra tokia:

string.find(substring,start,end)

„Find ()“ metodo parametrai

Čia yra trys funkcijos „String find“ („Python“) parametrai:
  • substring : Substringas, kurio norite ieškoti pateiktoje eilutėje.
  • pradžia : (neprivaloma) Pradinė vertė, nuo kurios bus pradėta ieškoti eilutės. Pagal numatytuosius nustatymus tai yra 0.
  • pabaiga : (neprivaloma) Pabaigos vertė, kur baigsis substringo paieška. Pagal numatytuosius nustatymus vertė yra eilutės ilgis.

„Find ()“ metodo pavyzdys su numatytosiomis reikšmėmis

Parametrai, perduoti Python find () metodui, yra substring, ty eilutė, kurios norite ieškoti, pradėti ir baigti. Pradinė vertė pagal numatytuosius nustatymus yra 0, o pabaigos vertė yra eilutės ilgis.

Šiame pavyzdyje mes naudosime metodą „find“) „Python“ su numatytosiomis reikšmėmis.

„Find ()“ metodas ieškos substringo ir pateiks pirmojo poskyrio įvykio vietą. Dabar, jei substringas pateiktoje eilutėje yra kelis kartus, jis vis tiek grąžins jums pirmosios indeksą ar poziciją.

Pavyzdys:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))

Išvestis:

The position of Tutorials is at: 12

Find () pavyzdys naudojant argumentą start

Pateiktoje eilutėje galite ieškoti poskirsnyje ir nurodyti pradinę padėtį, nuo kurios prasidės paieška. Pradžios parametras gali būti naudojamas tam pačiam.

Pavyzdyje pradinė pozicija bus nurodyta kaip 15, o „Python“ metodo paieška () pradės paiešką nuo 15 pozicijos. Čia galinė pozicija bus eilutės ilgis ir ieškos iki eilutės pabaigos iš 15 pozicijų pirmyn.

Pavyzdys:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))

Išvestis:

The position of Tutorials is at 48

Find () pavyzdys, naudojant pradžios ir pabaigos argumentus

Naudodami pradžios ir pabaigos parametrą bandysime apriboti paiešką, užuot ieškoję visos eilutės.

Pavyzdys:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))

Išvestis:

The position of Tutorials is at 12

„Find ()“ metodo pavyzdys Norėdami rasti nurodytos eilutės eilutę

Mes žinome, kad „find“ () padeda mums surasti pirmojo poslinkio rodiklį. Jei nurodytoje eilutėje nėra eilutės, ji grąžina -1. Žemiau pateiktame pavyzdyje rodomas indeksas, kai yra eilutė, o -1, kai nerandame ieškomo substringo.

Pavyzdys:

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

Išvestis:

The position of Best site is at: 27The position of Guru99 is at: -1

„Python“ eilutė rfind ()

„Python“ funkcija „rfind“ () yra panaši į „find“ () funkciją, tačiau vienintelis skirtumas yra tas, kad „rfind“ () pateikia didžiausią nurodytos pakraščio indeksą, o „find“) - mažiausias, ty pats pirmasis indeksas. Ir rfind (), ir find () grąžins -1, jei substringo nėra.

Žemiau pateiktame pavyzdyje turime eilutę "Susipažink su" Guru99 "pamokų svetaine. Geriausia" Python "pamokų svetainė!" ir bandys surasti pakaitinių pamokų padėtį naudodamas „find“ () ir „rfind“ (). Pamokų eilutėje yra du kartus.

Čia yra pavyzdys, kai naudojami ir rasti (), ir 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"))

Išvestis:

The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48

Išvestis rodo, kad „find“) pateikia pirmojo gauto „Tutorials“ substringo indeksą, o „rfind“ () pateikia paskutinį „Substring“ vadovėlių indeksą.

„Python“ eilutės indeksas ()

„Python“ eilutės rodyklė () yra funkcija, kuri suteiks jums pateiktos pakraščio poziciją, kaip ir „find“). Vienintelis skirtumas tarp dviejų yra tai, kad indeksas () sukels išimtį, jei eilutės nėra pakraščio, o radimas () grąžins -1.

Čia yra veikiantis pavyzdys, parodantis indekso () ir radimo () elgesį.

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

Išvestis:

The position of Tutorials using find() : 12The position of Tutorials using index() : 12

Mes gauname tą pačią poziciją tiek rasti (), tiek indeksą (). Pažiūrėkime pavyzdį, kai eilutėje nėra nurodytos eilutės.

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

Išvestis:

The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, in print("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found

Aukščiau pateiktame pavyzdyje mes bandome surasti substringo „testo“ padėtį. Substringo nėra pateiktoje eilutėje, taigi, naudodamiesi find (), mes gauname poziciją kaip -1, tačiau indeksui () ji iškelia klaidą, kaip parodyta aukščiau.

Norėdami surasti bendrą poskyrio atvejį

Norėdami sužinoti, kiek kartų eilutė įvyko pateiktoje eilutėje, mes naudosime funkciją find () „Python“. Peržiūrės eilutę naudodamas „for-loop“ nuo 0 iki eilutės pabaigos. Naudos „startIndex“ parametrą ieškodamas ().

Kintamieji startIndex ir count bus inicializuoti į 0. Inside for -loop patikrins, ar eilutė yra eilutėje, nurodytoje naudojant find () ir startIndex kaip 0.

Vertė, grąžinta iš „find“), jei ne -1, atnaujins „startIndex“ į indeksą, kuriame randama eilutė, taip pat padidins skaičiaus vertę.

Štai pavyzdys:

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 )

Išvestis:

The total count of substring test is: 6

Santrauka

  • „Python“ eilutės ieškos () metodas padeda surasti pirmojo poslinkio nurodytoje eilutėje indeksą. Jei poskirsnio nėra, jis grąžins -1.
  • Parametrai, perduodami „Python find substring“ metodui, yra substring, ty eilutė, kurios norite ieškoti, pradėti ir baigti. Pradinė vertė pagal numatytuosius nustatymus yra 0, o pabaigos vertė yra eilutės ilgis.
  • Pateiktoje eilutėje galite ieškoti poskirsnyje ir nurodyti pradinę padėtį, nuo kurios prasidės paieška. Pradžios parametras gali būti naudojamas tam pačiam.
  • Naudodami pradžios ir pabaigos parametrą bandysime apriboti paiešką, užuot ieškoję visos eilutės.
  • „Python“ funkcija „rfind“ () yra panaši į „find“ () funkciją, tačiau vienintelis skirtumas yra tas, kad „rfind“ () pateikia didžiausią nurodytos pakraščio indeksą, o „find“) - mažiausias, ty pats pirmasis indeksas. Ir rfind (), ir find () grąžins -1, jei substringo nėra.
  • „Python“ eilutės indeksas () yra dar viena funkcija, kuri suteiks jums paduodamo poskyrio padėtį, kaip ir „find“). Vienintelis skirtumas tarp dviejų yra tai, kad indeksas () sukels išimtį, jei eilutės nėra pakraščio, o radimas () grąžins -1.
  • Mes galime pasinaudoti „find“ (), kad surastume viso posistemio skaičiaus tam tikroje eilutėje skaičių.

Įdomios straipsniai...