Python String find() meetod koos näidetega

Mis on Python String leida()?

Python String find() on funktsioon, mis on saadaval Python teek, et leida antud stringist alamstringi esmakordse esinemise indeks. Funktsioon string find() tagastab erandi tegemise asemel -1, kui määratud alamstringi antud stringis pole.

Süntaks of Python string find ()

Peamine süntaks Python Find() funktsioon on järgmine:

string.find(substring,start,end)

Find() meetodi parameetrid

Siin on kolm funktsiooni String find() in parameetrit Python:

  • alamstring: alamstring, mida soovite antud stringist otsida.
  • algus: (valikuline) Algväärtus, kust alamstringi otsimine algab. Vaikimisi on see 0.
  • lõpp: (valikuline) Lõppväärtus, millega alamstringi otsing lõpeb. Vaikimisi on väärtuseks stringi pikkus.

Vaikeväärtustega meetodi find() näide

Parameetrid edastati Python Find() meetod on alamstring, st string, mida soovite otsida, alustada ja lõpetada. Algväärtus on vaikimisi 0 ja lõppväärtus on stringi pikkus.

Selles näites kasutame meetodit find() in Python vaikeväärtustega.

Meetod find() otsib alamstringi ja annab alamstringi kõige esimese esinemiskoha asukoha. Nüüd, kui alamstring esineb antud stringis mitu korda, tagastab see teile ikkagi esimese indeksi või positsiooni.

Näide:

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

Väljund:

The position of Tutorials is at: 12

Näide: find(), kasutades algusargumenti

Antud stringist saab otsida alamstringi ja määrata alguspositsiooni, kust otsing algab. Selle jaoks saab kasutada ka käivitusparameetrit.

Näide määrab alguspositsiooniks 15 ja find() in Python meetod alustab otsingut positsioonist 15. Siin on lõppasendiks stringi pikkus ja otsitakse stringi lõpuni 15 positsioonist edasi.

Näide:

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

Väljund:

The position of Tutorials is at 48

Näide find()-st, kasutades algus- ja lõppargumente

Kasutades algus- ja lõppparameetrit, püüame kogu stringi otsimise asemel otsingut piirata.

Näide:

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

Väljund:

The position of Tutorials is at 12

Find() meetodi näide Et leida antud alamstringi asukoht stringis

Teame, et find() aitab meil leida alamstringi esimese esinemise indeksi. Tagastab -1, kui alamstringi antud stringis pole. Allolev näide näitab indeksit, kui string on olemas, ja -1, kui me ei leia otsitavat alamstringi.

Näide:

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

Väljund:

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

Python string rfind()

. Python funktsioon rfind() on sarnane funktsiooniga find(), ainsaks erinevuseks on see, et rfind() annab antud alamstringi jaoks kõrgeima indeksi ja find() annab madalaima, st kõige esimese indeksi. Nii rfind() kui ka find() tagastavad -1, kui alamstringi pole.

Allolevas näites on meil string "Meet Guru99 Tutorials Site. Parim sait Python Tutorials!” ja proovib leida alamstringi asukohta Tutorials kasutades find() ja rfind(). Õpetuste esinemine stringis on kaks korda.

Siin on näide, kus kasutatakse nii find() kui ka 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"))

Väljund:

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

Väljund näitab, et find() annab indeksi kõige esimesele Tutorials alamstringile, mille ta saab, ja rfind() annab alamstringi Tutorials viimase indeksi.

Python string index()

. Python string index () on funktsioon, mis annab teile antud alamstringi asukoha täpselt nagu find (). Ainus erinevus nende kahe vahel on see, et index() teeb erandi, kui alamstringi stringis ei ole ja find() tagastab -1.

Siin on toimiv näide, mis näitab index() ja find() käitumist.

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

Väljund:

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

Saame sama positsiooni nii find() kui ka index() jaoks. Vaatame näidet, kui antud alamstringi stringis pole.

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

Väljund:

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

Ülaltoodud näites püüame leida alamstringi "test" asukohta. Alamstringi antud stringis ei ole ja seetõttu saame find() abil positsiooni -1, kuid indeksi () korral annab see vea, nagu ülal näidatud.

Alamstringi koguesinemise leidmiseks

Et leida, mitu korda on antud stringis alamstring esinenud, kasutame funktsiooni find() Python. Läbib stringi, kasutades for-tsüklit 0 kuni stringi lõpuni. Kasutab find() jaoks parameetrit startIndex.

Muutujad startIndex ja count lähtestatakse väärtuseks 0. Inside for –loop kontrollib, kas alamstring on stringis, mis on antud kasutades find() ja startIndex kui 0.

Funktsioonist find() tagastatud väärtus, kui mitte -1, värskendab startIndex indeksi, kust string leiti, ja suurendab ka loendusväärtust.

Siin on töönäide:

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 )

Väljund:

The total count of substring test is:  6

kokkuvõte

  • . Python string find() meetod aitab leida alamstringi esmakordse esinemise indeksi antud stringis. Kui alamstringi pole, tagastab see -1.
  • Parameetrid edastati Python alamstringi leidmise meetod on alamstring, st string, mida soovite otsida, alustada ja lõpetada. Algväärtus on vaikimisi 0 ja lõppväärtus on stringi pikkus.
  • Antud stringist saab otsida alamstringi ja määrata alguspositsiooni, kust otsing algab. Selle jaoks saab kasutada ka käivitusparameetrit.
  • Kasutades algus- ja lõppparameetrit, püüame kogu stringi otsimise asemel otsingut piirata.
  • . Python funktsioon rfind() on sarnane funktsiooniga find(), ainsaks erinevuseks on see, et rfind() annab antud alamstringi kõrgeima indeksi ja find() annab madalaima, st kõige esimese indeksi. Nii rfind() kui ka find() tagastavad -1, kui alamstringi pole.
  • . Python string index() on veel üks funktsioon, mis annab teile antud alamstringi asukoha täpselt nagu find(). Ainus erinevus nende kahe vahel on see, et index() teeb erandi, kui alamstringi stringis ei ole ja find() tagastab -1.
  • Me saame kasutada klahvi find(), et leida antud stringis alamstringi kogu esinemissagedus.

» Lisateave Python String split()