Metoda Python String find () s příklady

Obsah:

Anonim

Co je Python String find ()?

Python String find () je funkce dostupná v knihovně Pythonu k vyhledání indexu prvního výskytu podřetězce z daného řetězce. Funkce find () string vrátí -1 místo vyvolání výjimky, pokud zadaný podřetězec není v daném řetězci přítomen.

V tomto výukovém programu metody vyhledávání řetězců Python () se naučíte:

  • Co je Python String find ()?
  • Syntaxe řetězce Python find ()
  • Příklad metody find () s výchozími hodnotami
  • Příklad find () pomocí argumentu start
  • Příklad find () pomocí argumentů start a end
  • Příklad metody find () Vyhledání polohy daného dílčího řetězce v řetězci
  • Python string rfind ()
  • Index řetězce Pythonu ()
  • Chcete-li zjistit celkový výskyt podřetězce

Syntaxe řetězce Python find ()

Základní syntaxe funkce Python find () je následující:

string.find(substring,start,end)

Parametry pro metodu find ()

Tady jsou tři parametry funkce String find () v Pythonu:
  • podřetězec : Podřetězec, který chcete prohledat v daném řetězci.
  • start : (volitelně) Počáteční hodnota, od které bude zahájeno hledání podřetězce. Ve výchozím nastavení je to 0.
  • end : (volitelně) Koncová hodnota, kde hledání podřetězce skončí. Ve výchozím nastavení je hodnotou délka řetězce.

Příklad metody find () s výchozími hodnotami

Parametry předávané metodě Python find () jsou 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.

V tomto příkladu použijeme metodu find () v Pythonu s výchozími hodnotami.

Metoda find () vyhledá podřetězec a dá pozici prvního výskytu podřetězce. Nyní, pokud je podřetězec v daném řetězci přítomen vícekrát, vrátí vám 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 prohledat podřetězec v daném řetězci a určit počáteční pozici, odkud bude hledání zahájeno. Stejný lze použít počáteční parametr.

V příkladu bude uvedena počáteční poloha jako 15 a metoda find () v metodě Python zahájí hledání od pozice 15. Zde bude koncovou pozicí délka řetězce a bude hledat až do konce řetězce z 15 pozic dále.

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 () pomocí argumentů start a end

Pomocí parametru začátek a konec se pokusíme místo hledání celého řetězce omezit vyhledávání.

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 () Vyhledání polohy daného dílčího ř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ásledující příklad ukazuje index, když je řetězec k dispozici, 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: 27The position of Guru99 is at: -1

Python string rfind ()

Funkce Python rfind () je obdobou funkce find () s jediným rozdílem v tom, že rfind () dává nejvyšší index pro daný podřetězec a find () dává nejnižší, tj. Úplně první index. Rfind () i find () vrátí -1, pokud podřetězec není k dispozici.

V níže uvedeném příkladu máme řetězec „Meet Guru99 Tutorials Site. Best site for Python Tutorials!“ a pokusí se najít pozici podřetězců Tutoriály pomocí find () a rfind (). Výskyt výukových programů v řetězci je dvakrát.

Zde je příklad, kde se používají jak find (), tak 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() : 12The position of Tutorials using rfind() : 48

Výstup ukazuje, že find () dává index úplně prvního dílčího Tutorials, který získá, a rfind () dává poslední index dílčích Tutorials.

Index řetězce Pythonu ()

Řetězcový index () v Pythonu je funkce, která vám dá pozici podřetězce, jako je find (). Jediný rozdíl mezi nimi je, index () vyvolá výjimku, pokud v řetězci není podřetězec a find () vrátí -1.

Zde je funkční 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() : 12The position of Tutorials using index() : 12

Získáváme stejnou pozici jak pro find (), tak pro index (). Podívejme se na příklad, když daný podřetězec není v řetězci.

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() : -1Traceback (most recent call last):File "task1.py", line 3, in 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 () dostaneme pozici jako -1, ale pro index () vyvolá chybu, jak je uvedeno výše.

Chcete-li zjistit celkový výskyt podřetězce

Abychom zjistili celkový počet výskytů podřetězce v daném řetězci, využijeme funkci find () v Pythonu. Bude procházet řetězcem pomocí smyčky 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 daného pomocí find () a startIndex jako 0.

Hodnota vrácená z find (), pokud není -1, aktualizuje startIndex na index, kde je nalezen řetězec, a také zvýší hodnotu počtu.

Zde je funkční příklad:

my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )

Výstup:

The total count of substring test is: 6

souhrn

  • Metoda Python string find () pomáhá najít index prvního výskytu podřetězce v daném řetězci. Vrátí -1, pokud podřetězec není k dispozici.
  • Parametry předané metodě Python find substring jsou 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 prohledat podřetězec v daném řetězci a určit počáteční pozici, odkud bude hledání zahájeno. Stejný lze použít počáteční parametr.
  • Pomocí parametru začátek a konec se pokusíme místo hledání celého řetězce omezit vyhledávání.
  • Funkce Python rfind () je obdobou funkce find () s jediným rozdílem v tom, že rfind () dává nejvyšší index pro daný podřetězec a find () dává nejnižší, tj. Úplně první index. Rfind () i find () vrátí -1, pokud podřetězec není k dispozici.
  • Řetězec indexu Python () je další funkce, která vám poskytne pozici podřetězce, jako je find (). Jediný rozdíl mezi nimi je, index () vyvolá výjimku, pokud v řetězci není podřetězec a find () vrátí -1.
  • Můžeme použít find () k nalezení počtu celkového výskytu podřetězce v daném řetězci.