Python Metoda String find() s příklady
Co je to Python String find()?
Python String find() je funkce dostupná v Python Knihovna pro nalezení indexu prvního výskytu podřetězce z daného řetězce. Funkce string find() vrátí -1 místo vyvolání výjimky, pokud zadaný podřetězec není v daném řetězci přítomen.
Syntaxe Python string find()
Základní syntaxe Python Funkce find() je následující:
string.find(substring,start,end)
Parametry pro metodu find().
Zde jsou tři parametry funkce String find() in Python:
- podřetězec: Podřetězec, který chcete v daném řetězci hledat.
- Začít: (volitelné) Počáteční hodnota, od které začne hledání podřetězce. Ve výchozím nastavení je to 0.
- konec: (nepovinné) Koncová hodnota, kde skončí hledání podřetězce. Ve výchozím nastavení je hodnotou délka řetězce.
Příklad metody find() s výchozími hodnotami
Parametry předané do Python find() jsou podřetězec, tj. řetězec, který chcete vyhledat, začátek a konec. Počáteční hodnota je ve výchozím nastavení 0 a koncová hodnota je délka řetězce.
V tomto příkladu použijeme metodu find() in Python s výchozími hodnotami.
Metoda find() vyhledá podřetězec a dá pozici úplně prvního výskytu podřetězce. Nyní, pokud je podřetězec v daném řetězci přítomen vícekrát, stále vám vrátí index nebo pozici prvního.
Příklad:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))
Výstup:
The position of Tutorials is at: 12
Příklad find() pomocí argumentu start
Můžete vyhledat podřetězec v daném řetězci a určit počáteční pozici, odkud bude vyhledávání začínat. Pro totéž lze použít parametr start.
Příklad určí počáteční pozici jako 15 a find() in Python metoda začne hledat od pozice 15. Zde bude koncová pozice délka řetězce a bude hledat až do konce řetězce od 15 pozic výše.
Příklad:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Výstup:
The position of Tutorials is at 48
Příklad find() s použitím argumentů start a end
Pomocí parametru start a end se pokusíme omezit hledání, místo abychom prohledávali celý řetězec.
Příklad:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Výstup:
The position of Tutorials is at 12
Příklad metody find() K nalezení pozice daného podřetězce v řetězci
Víme, že find() nám pomáhá najít index prvního výskytu podřetězce. Vrátí -1, pokud podřetězec není v daném řetězci přítomen. Níže uvedený příklad ukazuje index, když je řetězec přítomen, a -1, když nenajdeme podřetězec, který hledáme.
Příklad:
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ýstup:
The position of Best site is at: 27 The position of Guru99 is at: -1
Python řetězec rfind()
Jedno Python funkce rfind() je podobná funkci find() s jediným rozdílem, že rfind() dává nejvyšší index pro daný podřetězec a find() dává nejnižší, tj. úplně první index. Jak rfind() tak find() vrátí -1, pokud podřetězec není přítomen.
V níže uvedeném příkladu máme řetězec „Meet Guru99 Tutorials Site. Nejlepší místo pro Python Návody!“ a pokusí se najít pozici podřetězců Tutoriály pomocí find() a rfind(). Výukové programy v řetězci jsou dvakrát.
Zde je příklad, kde jsou použity funkce find() i 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ýstup:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
Výstup ukazuje, že find() udává index prvního podřetězce Tutorials, který získá, a rfind() poskytuje poslední index podřetězce Tutorials.
Python řetězcový index()
Jedno Python string index() je funkce, která vám dá pozici daného podřetězce stejně jako find(). Jediný rozdíl mezi těmito dvěma je, že index() vyvolá výjimku, pokud podřetězec není v řetězci přítomen, a find() vrátí -1.
Zde je pracovní příklad, který ukazuje chování index() a find().
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ýstup:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Dostáváme stejnou pozici pro find() i index(). Podívejme se na příklad, kdy daný podřetězec není v řetězci přítomen.
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ýstup:
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
Ve výše uvedeném příkladu se snažíme najít pozici podřetězce „test“. Podřetězec není v daném řetězci přítomen, a proto pomocí find() získáme pozici jako -1, ale pro index() vyvolá chybu, jak je uvedeno výše.
Chcete-li zjistit celkový výskyt podřetězce
Chcete-li zjistit, kolikrát se podřetězec vyskytl v daném řetězci, použijeme funkci find(). Python. Bude procházet řetězec pomocí for-loop od 0 do konce řetězce. Využije parametr startIndex pro find().
Proměnné startIndex a count budou inicializovány na 0. Inside for –loop zkontroluje, zda je podřetězec uvnitř řetězce zadaného pomocí find() a startIndex jako 0.
Pokud hodnota vrácená z find() není -1, aktualizuje startIndex na index, kde je řetězec nalezen, a také zvýší hodnotu počtu.
Zde je pracovní příklad:
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ýstup:
The total count of substring test is: 6
Shrnutí
- Jedno Python metoda string find() pomáhá najít index prvního výskytu podřetězce v daném řetězci. Pokud podřetězec není přítomen, vrátí hodnotu -1.
- Parametry předané do Python metoda find substring je podřetězec, tj. řetězec, který chcete vyhledat, začít a ukončit. Počáteční hodnota je ve výchozím nastavení 0 a koncová hodnota je délka řetězce.
- Můžete vyhledat podřetězec v daném řetězci a určit počáteční pozici, odkud bude vyhledávání začínat. Pro totéž lze použít parametr start.
- Pomocí parametru start a end se pokusíme omezit hledání, místo abychom prohledávali celý řetězec.
- Jedno Python funkce rfind() je podobná funkci find() s jediným rozdílem, že rfind() dává nejvyšší index pro daný podřetězec a find() dává nejnižší, tj. úplně první index. Jak rfind() tak find() vrátí -1, pokud podřetězec není přítomen.
- Jedno Python string index() je další funkce, která vám dá pozici podřetězce daného stejně jako find(). Jediný rozdíl mezi těmito dvěma je, že index() vyvolá výjimku, pokud podřetězec není v řetězci přítomen, a find() vrátí -1.
- Můžeme použít find() ke zjištění počtu celkového výskytu podřetězce v daném řetězci.
" Dozvědět se víc o Python Řetězec split()
