Python String find() metódus példákkal

Mi a Python String find()?

Python String find() -ben elérhető funkció Python könyvtárat, hogy megkeressük az adott karakterláncból egy részkarakterlánc első előfordulásának indexét. A string find() függvény -1-et ad vissza kivétel helyett, ha a megadott részkarakterlánc nem szerepel az adott karakterláncban.

szintaxisa Python string find()

Az alapvető szintaxis Python find() függvény a következő:

string.find(substring,start,end)

A find() metódus paraméterei

Itt van a String find() in függvény három paramétere Python:

  • szubsztring: Az adott karakterláncban keresni kívánt részkarakterlánc.
  • kezdet: (opcionális) A kezdőérték, ahonnan az alkarakterlánc keresése kezdődik. Alapértelmezés szerint ez 0.
  • végén: (nem kötelező) A végérték, ahol az alkarakterlánc keresése véget ér. Alapértelmezés szerint az érték a karakterlánc hossza.

Példa a find() metódusra alapértelmezett értékekkel

A paraméterek átadták Python find() metódus alstring, azaz a keresni kívánt karakterlánc, az elején és a végén. A kezdőérték alapértelmezés szerint 0, a végérték pedig a karakterlánc hossza.

Ebben a példában a find() in metódust fogjuk használni Python alapértelmezett értékekkel.

A find() metódus megkeresi a részkarakterláncot, és megadja a részkarakterlánc legelső előfordulásának helyét. Most, ha az alkarakterlánc többször szerepel az adott karakterláncban, akkor is visszaadja az első indexét vagy pozícióját.

Példa:

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

output:

The position of Tutorials is at: 12

Példa a find()-ra a start argumentum használatával

Az adott karakterláncban kereshet az alsztringben, és megadhatja a kezdő pozíciót, ahonnan a keresés indul. A start paraméter ugyanerre használható.

A példa a kezdőpozíciót 15-ben adja meg, a find() in Python A metódus a 15. pozíciótól kezdi a keresést. Itt a végpozíció a karakterlánc hossza lesz, és 15 pozíciótól kezdődően a karakterlánc végéig keres.

Példa:

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

output:

The position of Tutorials is at 48

Példa a find()-ra start és end argumentumokat használva

A start és end paraméter használatával megpróbáljuk korlátozni a keresést, ahelyett, hogy a teljes karakterláncban keresnénk.

Példa:

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

output:

The position of Tutorials is at 12

Példa a find() metódusra Adott részkarakterlánc pozíciójának megtalálása egy karakterláncban

Tudjuk, hogy a find() segít megtalálni a részkarakterlánc első előfordulásának indexét. -1-et ad vissza, ha az alkarakterlánc nem szerepel az adott karakterláncban. Az alábbi példa az indexet mutatja, ha a karakterlánc jelen van, és -1-et, ha nem találjuk a keresett részkarakterláncot.

Példa:

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

output:

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

Python string rfind()

Az Python Az rfind() függvény hasonló a find() függvényhez, azzal az egyetlen különbséggel, hogy az rfind() adja a legmagasabb indexet az adott részkarakterlánchoz, a find() pedig a legalacsonyabbat, azaz a legelső indexet. Az rfind() és a find() is -1-et ad vissza, ha az alsztring nincs jelen.

Az alábbi példában a „Találkozz” karakterlánc szerepel. Guru99 oktatóanyag oldal. A legjobb oldal ehhez: Python oktatóanyagok!” és megpróbálja megkeresni az oktatóprogramok részkarakterlánc pozícióját a find() és az rfind() segítségével. Az oktatóanyagok előfordulása a karakterláncban kétszeres.

Itt van egy példa, ahol a find() és az rfind() is használatos.

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

output:

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

A kimenet azt mutatja, hogy a find() megadja a legelső Tutorials részstring indexét, amelyet megkap, az rfind() pedig a Tutorials részstring utolsó indexét adja meg.

Python string index()

Az Python A string index() egy függvény, amely megadja a megadott részkarakterlánc pozícióját, akárcsak a find(). Az egyetlen különbség a kettő között, hogy az index() kivételt dob, ha az alkarakterlánc nem szerepel a karakterláncban, és a find() -1 értéket ad vissza.

Itt van egy működő példa, amely bemutatja az index() és find() viselkedésé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 index() : ", mystring.index("Tutorials"))

output:

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

Ugyanazt a pozíciót kapjuk a find() és az index() esetén is. Lássunk egy példát, amikor a megadott részkarakterlánc nem szerepel a karakterláncban.

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

output:

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

A fenti példában megpróbáljuk megtalálni a „teszt” részkarakterlánc pozícióját. Az alkarakterlánc nem szerepel az adott karakterláncban, ezért a find() használatával a pozíciót -1-ként kapjuk meg, de az index() esetén hibát ad, ahogy fent látható.

Egy részkarakterlánc teljes előfordulásának megállapítása

Ahhoz, hogy megtudjuk, hányszor fordult elő a részkarakterlánc az adott karakterláncban, a find() függvényt használjuk Python. A 0-tól a karakterlánc végéig a for-ciklus használatával végigfut a karakterláncon. A find() startIndex paramétert fogja használni.

A startIndex és a count változók 0-ra inicializálódnak. Az Inside for –loop ellenőrzi, hogy az alkarakterlánc megtalálható-e a find() és startIndex 0-val megadott karakterláncon belül.

Ha nem -1, a find() függvényből visszaadott érték frissíti a startIndexet arra az indexre, ahol a karakterlánc található, és növeli a számlálási értéket.

Íme a működő példa:

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 )

output:

The total count of substring test is:  6

Összegzésként

  • Az Python A string find() metódus segít megtalálni az adott karakterláncban szereplő részkarakterlánc első előfordulásának indexét. -1-et ad vissza, ha az alkarakterlánc nincs jelen.
  • A paraméterek átadták Python find substring metódus a substring, azaz a keresni kívánt karakterlánc, az elején és a végén. A kezdőérték alapértelmezés szerint 0, a végérték pedig a karakterlánc hossza.
  • Az adott karakterláncban kereshet az alsztringben, és megadhatja a kezdő pozíciót, ahonnan a keresés indul. A start paraméter ugyanerre használható.
  • A start és end paraméter használatával megpróbáljuk korlátozni a keresést, ahelyett, hogy a teljes karakterláncban keresnénk.
  • Az Python funkció Az rfind() hasonló a find() függvényhez, azzal a különbséggel, hogy az rfind() adja a legmagasabb indexet az adott részkarakterlánchoz, a find() pedig a legalacsonyabbat, azaz a legelső indexet. Az rfind() és a find() is -1-et ad vissza, ha az alsztring nincs jelen.
  • Az Python A string index() egy másik függvény, amely megadja a megadott részkarakterlánc pozícióját, akárcsak a find(). Az egyetlen különbség a kettő között, hogy az index() kivételt dob, ha az alkarakterlánc nem szerepel a karakterláncban, és a find() -1 értéket ad vissza.
  • Használhatjuk a find()-t arra, hogy megkeressük egy részkarakterlánc teljes előfordulásának számát egy adott karakterláncban.

" Tudj meg többet Python String split()

Foglald össze ezt a bejegyzést a következőképpen: