Python String find() meetod koos näidetega

⚡ Nutikas kokkuvõte

Python string find() on sisseehitatud meetod, mis tagastab stringis oleva alamstringi esimese esinemise indeksi. See tagastab väärtuse -1, kui alamstringi pole, vältides erandeid.

  • 🔍 süntaksit: find() võtab otsinguvahemiku piiramiseks alamstringi ning valikulised algus- ja lõppindeksid.
  • 🎯 Esimene matš: find() tagastab esimese esinemise madalaima indeksi, skaneerides vasakult paremale.
  • Ei leitud: find() tagastab väärtuse -1, selle asemel et tekitada viga, kui alamsõnge puudub.
  • 🔁 rfind(): Meetod rfind() tagastab kõrgeima indeksi, otsides hoopis paremalt poolt.
  • ⚠️ indeks(): Meetod index() käitub nagu find(), aga tekitab ValueError vea, kui alamstring puudub.
  • 🤖 AI abi: Tehisintellekti abilised kodeerimiseks genereerivad find() loogikat ja võimaldavad otsida alamstringe NLP tekstikanalites.

Python String find()

Mis on Python String leida()?

Python String find() on funktsioon, mis on saadaval Python teeki, et leida antud stringis oleva alamstringi esimese esinemise indeks. Funktsioon find() tagastab väärtuse -1, selle asemel et anda erand, kui määratud alamstring antud stringis puudub. See on üks järgmistest Pythonenimkasutatav string meetodid teksti leidmiseks.

Süntaks of Python string find ()

Põhisüntaks Python Find() funktsioon on järgmine:

string.find(substring,start,end)

Find() meetodi parameetrid

Siin on funktsiooni find() kolm parameetrit Python:

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

Vaikeväärtustega meetodi find() näide

Parameetrid edastati Python find() meetodi väärtused on alamstring, st string, mida soovite otsida, pluss algus- ja lõppväärtus. Algusväärtus on vaikimisi 0 ja lõppväärtus on stringi pikkus.

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

Meetod find() otsib alamsõnet ja annab alamsõnge esimese esinemise positsiooni. Kui alamsõnge esineb antud stringis mitu korda, tagastab see ikkagi esimese esinemise 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

Saate otsida antud stringist alamstringi ja määrata alguspunkti, kust otsing algab. Selleks saab kasutada parameetrit start.

Allolev näide määrab alguspositsiooniks 20 ja find() meetodiks Python alustab otsingut positsioonilt 20. Siin on lõpppositsiooniks stringi pikkus, seega otsitakse stringi lõpuni alates positsioonist 20.

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

Parameetrite start ja end abil saame otsingut piirata, selle asemel et otsida kogu stringist.

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

Näide find() meetodist antud alamstringi positsiooni leidmiseks stringis

Me teame, et find() aitab meil leida alamstringi esimese esinemise indeksi. See tagastab -1, kui alamstring antud stringis puudub. Allolev näide näitab indeksit, kui string on olemas, ja -1, kui otsitavat alamstringi ei leita.

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() sarnaneb funktsiooniga find(), ainsa erinevusega, et rfind() annab antud alamstringi kõrgeima indeksi, samas kui find() annab madalaima ehk kõige esimese indeksi. Nii rfind() kui ka find() tagastavad -1, kui alamstringi pole.

Allolevas näites on meil string „Kohtume Guru99 õpetuste sait. Parim sait Python Tutorials!” ja püüab leida alamsõne „Tutorials” positsiooni, kasutades funktsioone find() ja rfind(). Alamsõne „Tutorials” esineb sõnes 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 esimese leitud „Tutorials” alamsõne indeksi, samas kui rfind() annab „Tutorials” alamsõne viimase indeksi.

Python string index()

. Python string index() on funktsioon, mis annab antud alamstringi positsiooni, täpselt nagu find(). Ainus erinevus nende kahe vahel on see, et index() viskab erandi, kui alamstringi stringis pole, samas kui 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

Nii find() kui ka index() puhul saame sama positsiooni. Vaatame näidet, kus 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“ positsiooni. Alamstring antud stringis puudub, seega find() abil saame positsiooniks -1, kuid index() annab vea, nagu eespool näidatud.

Alamstringi koguesinemise leidmiseks

Selleks, et leida, mitu korda alamsõnge on antud sõnes esinenud, kasutame funktsiooni find() PythonMe käime stringi läbi for-tsükliga alates 0-st kuni stringi lõpuni, kasutades find() funktsiooni startIndex parameetrit.

Muutujad startIndex ja count initsialiseeritakse väärtuseks 0. For-tsükli sees kontrollime funktsiooni find() abil, kas antud stringis on alamsõne olemas ja startIndex on 0.

Funktsiooni find() tagastatud väärtus, kui see pole -1, uuendab startIndexi indeksiks, kust string leiti, ja suurendab ka count'i vää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

» Lisateave Python String split()

KKK

Jah. find() leiab alamsõnge täpselt, seega „Hello”.find(“h”) tagastab -1, samas kui „Hello”.find(“H”) tagastab 0. Kui vajate tõstu- ja väiketähti mittetundevat otsingut, teisendage sõne esmalt funktsiooniga lower() või upper().

Operaator „in“ tagastab alamsõne olemasolu näitamiseks ainult väärtuse „True“ või „False“. find() läheb kaugemale ja tagastab esimese vaste täpse indeksi või väärtuse -1, kui alamsõne puudub.

Jah. find() aktsepteerib negatiivseid algus- ja lõppindekseid, mis loevad stringi lõpust. Näiteks „Guru99”.find(“9”, -2) otsib ainult kahte viimast märki ja tagastab nende positsiooni.

Meetod str.find() leiab korraga ühe vaste. Kõigi ühe väljakutsega vastete leidmiseks kasutage moodulit re: re.findall() tagastab kõik sobivad alamstringid ja re.finditer() annab tulemuseks vasteobjektid iga alguspositsiooniga.

find() on ainult stringidel põhinev meetod, seega selle kutsumine loendis tekitab AttributeError vea. Loendis või tuples oleva elemendi leidmiseks kasutage hoopis index() meetodit, mis tagastab esimese vaste positsiooni.

Jah. Lihtsa alamstringiotsingu jaoks on find() rakendatud C-s ja töötab kiiremini kui regulaaravaldise kompileerimine. Kasuta moodulit „re“ ainult siis, kui vajad mustreid, metamärke või mitut vastet.

Masinõppes ja keelelises kirjanduses otsib funktsioon find() märksõnu, silte või eraldajaid teksti puhastamise ja tokeniseerimise ajal. Alamstringi olemasolu või asukoha tuvastamine aitab luua funktsioone ja analüüsida mudeli sisendeid.

Jah. GitHub Copilot täidab find(), rfind() ja index() päringud automaatselt lühikese kommentaari põhjal, mis kirjeldab teie eesmärki. Agentuuri tehisintellekti tööriistad lähevad kaugemale, kirjutades otsinguloogika, lisades algus- ja lõppargumendid ning käivitades teie testid.

Võta see postitus kokku järgmiselt: