Python String find() -menetelmä esimerkein
Mikä on Python merkkijono etsi()?
Python merkkijono etsi() on toiminto, joka on käytettävissä Python kirjasto löytääksesi annetusta merkkijonosta alimerkkijonon ensimmäisen esiintymän indeksin. Merkkijono find()-funktio palauttaa -1:n poikkeuksen sijaan, jos määritettyä osamerkkijonoa ei ole annetussa merkkijonossa.
Kohteen syntaksi Python merkkijono etsi()
Kohteen perussyntaksi Python find()-funktio on seuraava:
string.find(substring,start,end)
Find()-menetelmän parametrit
Tässä on kolme parametria funktiosta String find() in Python:
- alimerkkijono: Osamerkkijono, jota haluat etsiä annetusta merkkijonosta.
- Alkaa: (valinnainen) Alkuarvo, josta osamerkkijonon haku alkaa. Oletuksena se on 0.
- loppu: (valinnainen) Loppuarvo, johon alimerkkijonon haku päättyy. Oletuksena arvo on merkkijonon pituus.
Esimerkki find()-menetelmästä oletusarvoilla
Parametrit välitettiin Python find() -menetelmä ovat alimerkkijono eli merkkijono, jota haluat etsiä, aloittaa ja lopettaa. Alkuarvo on oletuksena 0 ja loppuarvo on merkkijonon pituus.
Tässä esimerkissä käytämme metodia find() in Python oletusarvoilla.
Find()-menetelmä etsii osamerkkijonoa ja antaa alimerkkijonon ensimmäisen esiintymän sijainnin. Nyt, jos osamerkkijono esiintyy useita kertoja annetussa merkkijonossa, se silti palauttaa sinulle ensimmäisen indeksin tai sijainnin.
Esimerkiksi:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials"))
lähtö:
The position of Tutorials is at: 12
Esimerkki: find() käyttäen start-argumenttia
Voit etsiä annetusta merkkijonosta alimerkkijonoa ja määrittää aloituskohdan, josta haku alkaa. Aloitusparametria voidaan käyttää samaan.
Esimerkki määrittää aloituspaikan 15:ksi ja find() in Python menetelmä aloittaa haun paikasta 15. Tässä loppupaikka on merkkijonon pituus ja hakee merkkijonon loppuun 15 paikasta eteenpäin.
Esimerkiksi:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
lähtö:
The position of Tutorials is at 48
Esimerkki Find():sta, jossa käytetään alku- ja loppuargumentteja
Aloitus- ja lopetusparametrien avulla yritämme rajoittaa hakua koko merkkijonon etsimisen sijaan.
Esimerkiksi:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
lähtö:
The position of Tutorials is at 12
Esimerkki find()-menetelmästä Tietyn alimerkkijonon sijainnin etsiminen merkkijonosta
Tiedämme, että find() auttaa meitä löytämään alimerkkijonon ensimmäisen esiintymän indeksin. Se palauttaa -1, jos osamerkkijonoa ei ole annetussa merkkijonossa. Alla oleva esimerkki näyttää indeksin, kun merkkijono on läsnä, ja -1, kun emme löydä etsimäämme osamerkkijonoa.
Esimerkiksi:
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))
lähtö:
The position of Best site is at: 27 The position of Guru99 is at: -1
Python string rfind()
- Python funktio rfind() on samanlainen kuin find()-funktio, sillä ainoa ero on, että rfind() antaa korkeimman indeksin annetulle osamerkkijonolle ja find() antaa pienimmän eli aivan ensimmäisen indeksin. Sekä rfind() että find() palauttavat -1, jos osamerkkijonoa ei ole.
Alla olevassa esimerkissä meillä on merkkijono "Meet Guru99 Tutorials Site. Paras sivusto Python Opetusohjelmat!” ja yrittää löytää alimerkkijonon sijainnin Tutorials komennolla find() ja rfind(). Ohjeiden esiintyminen merkkijonossa on kaksi kertaa.
Tässä on esimerkki, jossa käytetään sekä find()- että rfind():tä.
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"))
lähtö:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
Tulos osoittaa, että find() antaa indeksin ensimmäisestä Tutorials-osamerkkijonosta, jonka se saa, ja rfind() antaa viimeisen osamerkkijonon Tutorials-indeksin.
Python merkkijono index()
- Python string index() on funktio, joka antaa sinulle annetun alimerkkijonon sijainnin aivan kuten find(). Ainoa ero näiden kahden välillä on, että index() heittää poikkeuksen, jos alimerkkijonoa ei ole merkkijonossa ja find() palauttaa -1.
Tässä on toimiva esimerkki, joka näyttää indeksin () ja find() toiminnan.
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"))
lähtö:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Saamme saman sijainnin sekä find():lle että index(:lle). Katsotaanpa esimerkkiä, kun annettua osamerkkijonoa ei ole merkkijonossa.
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"))
lähtö:
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
Yllä olevassa esimerkissä yritämme löytää alimerkkijonon "testi" paikan. Osamerkkijonoa ei ole annetussa merkkijonossa, joten käyttämällä find(:ta) saamme paikan -1, mutta index() antaa virheen, kuten yllä on esitetty.
Löytää osamerkkijonon kokonaisesiintymä
Selvittääksemme kuinka monta kertaa alimerkkijono on esiintynyt annetussa merkkijonossa, käytämme find()-funktiota Python. Kiertää merkkijonon läpi käyttämällä for-silmukkaa nollasta merkkijonon loppuun. Käyttää startIndex-parametria find().
Muuttujat startIndex ja count alustetaan arvoon 0. Inside for –silmukka tarkistaa, onko alimerkkijono läsnä merkkijonossa, joka on annettu käyttämällä find()- ja startIndex-arvoja 0.
Find():sta palautettu arvo, jos se ei ole -1, päivittää startIndexin indeksiin, josta merkkijono löytyy, ja lisää myös laskenta-arvoa.
Tässä toimiva esimerkki:
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 )
lähtö:
The total count of substring test is: 6
Yhteenveto
- - Python string find() -menetelmä auttaa löytämään annetussa merkkijonossa olevan alimerkkijonon ensimmäisen esiintymän indeksin. Se palauttaa -1, jos osamerkkijonoa ei ole.
- Parametrit välitettiin Python Find substring -menetelmä ovat alimerkkijono eli merkkijono, jota haluat etsiä, aloittaa ja lopettaa. Alkuarvo on oletuksena 0 ja loppuarvo on merkkijonon pituus.
- Voit etsiä annetusta merkkijonosta alimerkkijonoa ja määrittää aloituskohdan, josta haku alkaa. Aloitusparametria voidaan käyttää samaan.
- Aloitus- ja lopetusparametrien avulla yritämme rajoittaa hakua koko merkkijonon etsimisen sijaan.
- - Python toiminto rfind() on samanlainen kuin find()-funktio, sillä ainoa ero on, että rfind() antaa korkeimman indeksin annetulle osamerkkijonolle ja find() antaa pienimmän eli aivan ensimmäisen indeksin. Sekä rfind() että find() palauttavat -1, jos osamerkkijonoa ei ole.
- - Python string index() on vielä toinen funktio, joka antaa sinulle annetun alimerkkijonon sijainnin aivan kuten find(). Ainoa ero näiden kahden välillä on, että index() heittää poikkeuksen, jos alimerkkijonoa ei ole merkkijonossa ja find() palauttaa -1.
- Voimme käyttää find()-komentoa löytääksemme annetussa merkkijonossa olevan osamerkkijonon kokonaismäärän.
» Lisätietoja Python merkkijono split()