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