Co to jest Python String find ()?
Python String find () to funkcja dostępna w bibliotece Pythona do wyszukiwania indeksu pierwszego wystąpienia podłańcucha z danego ciągu. Funkcja find () ciągów zwróci wartość -1 zamiast rzucać wyjątek, jeśli określony podciąg nie występuje w danym ciągu.
W tym samouczku dotyczącym metody find () w języku Python dowiesz się:
- Co to jest Python String find ()?
- Składnia ciągu znaków w języku Python find ()
- Przykład metody find () z wartościami domyślnymi
- Przykład funkcji find () z użyciem argumentu start
- Przykład funkcji find () przy użyciu argumentów początkowych i końcowych
- Przykład metody find () Aby znaleźć pozycję danego podciągu w ciągu
- Python string rfind ()
- Indeks ciągu w Pythonie ()
- Aby znaleźć całkowite wystąpienie podciągu
Składnia ciągu znaków w języku Python find ()
Podstawowa składnia funkcji find () w języku Python jest następująca:
string.find(substring,start,end)
Parametry metody find ()
Oto trzy parametry funkcji String find () w Pythonie:- podciąg : podciąg, który chcesz przeszukać w podanym ciągu.
- start : (opcjonalne) Wartość początkowa, od której rozpocznie się wyszukiwanie podciągu. Domyślnie jest to 0.
- end : (opcjonalne) Wartość końcowa, na której zakończy się wyszukiwanie podciągu. Domyślnie wartością jest długość ciągu.
Przykład metody find () z wartościami domyślnymi
Parametry przekazane do metody find () w języku Python są podłańcuchami, tj. Ciągiem znaków, które chcesz wyszukać, rozpocząć i zakończyć. Wartością początkową jest domyślnie 0, a wartością końcową jest długość ciągu.
W tym przykładzie użyjemy metody find () w Pythonie z wartościami domyślnymi.
Metoda find () wyszuka podciąg i poda pozycję pierwszego wystąpienia podciągu. Teraz, jeśli podciąg występuje wiele razy w danym ciągu, nadal zwróci ci indeks lub pozycję pierwszego.
Przykład:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))
Wynik:
The position of Tutorials is at: 12
Przykład funkcji find () z użyciem argumentu start
Możesz przeszukać podciąg w podanym ciągu i określić pozycję początkową, od której rozpocznie się wyszukiwanie. Parametr start może być użyty do tego samego.
Przykład określi pozycję początkową jako 15, a find () w metodzie Pythona rozpocznie wyszukiwanie od pozycji 15. Tutaj pozycja końcowa będzie długością ciągu i będzie przeszukiwać do końca ciągu od 15 pozycji dalej.
Przykład:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Wynik:
The position of Tutorials is at 48
Przykład funkcji find () przy użyciu argumentów początkowych i końcowych
Używając parametru start i end, spróbujemy ograniczyć wyszukiwanie, zamiast przeszukiwać cały ciąg.
Przykład:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Wynik:
The position of Tutorials is at 12
Przykład metody find () Aby znaleźć pozycję danego podciągu w ciągu
Wiemy, że funkcja find () pomaga nam znaleźć indeks pierwszego wystąpienia podłańcucha. Zwraca -1, jeśli podciąg nie występuje w danym ciągu. Poniższy przykład pokazuje indeks, gdy ciąg jest obecny i -1, gdy nie znajdziemy szukanego podłańcucha.
Przykład:
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))
Wynik:
The position of Best site is at: 27The position of Guru99 is at: -1
Python string rfind ()
Funkcja rfind () w Pythonie jest podobna do funkcji find () z tą różnicą, że rfind () daje najwyższy indeks dla danego podłańcucha, a funkcja find () najniższy, tj. Pierwszy indeks. Zarówno rfind (), jak i find () zwrócą -1, jeśli podłańcuch nie jest obecny.
W poniższym przykładzie mamy ciąg znaków „Poznaj witrynę z samouczkami Guru99. Najlepsza witryna dla samouczków Pythona!” i spróbuje znaleźć pozycję samouczków podłańcuchowych za pomocą funkcji find () i rfind (). Wystąpienie samouczków w ciągu znaków jest dwa razy.
Oto przykład użycia funkcji 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"))
Wynik:
The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48
Dane wyjściowe pokazują, że funkcja find () podaje indeks pierwszego pobieranego fragmentu Tutorials, a rfind () ostatniego indeksu fragmentu Tutorials.
Indeks ciągu w Pythonie ()
Python string index () to funkcja, która podaje pozycję podanego podłańcucha, podobnie jak find (). Jedyna różnica między nimi polega na tym, że funkcja index () zgłosi wyjątek, jeśli w ciągu nie ma podłańcucha, a funkcja find () zwróci wartość -1.
Oto działający przykład, który pokazuje zachowanie funkcji index () i 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"))
Wynik:
The position of Tutorials using find() : 12The position of Tutorials using index() : 12
Otrzymujemy tę samą pozycję zarówno dla funkcji find (), jak i index (). Zobaczmy przykład, gdy podany podciąg nie występuje w ciągu.
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"))
Wynik:
The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, inprint("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found
W powyższym przykładzie próbujemy znaleźć pozycję podciągu „test”. Podłańcuch nie występuje w podanym ciągu, a zatem za pomocą funkcji find () otrzymujemy pozycję jako -1, ale dla index () zgłasza błąd, jak pokazano powyżej.
Aby znaleźć całkowite wystąpienie podciągu
Aby znaleźć całkowitą liczbę wystąpień podłańcucha w danym ciągu, skorzystamy z funkcji find () w Pythonie. Przechodzi przez ciąg przy użyciu pętli for od 0 do końca ciągu. Wykorzysta parametr startIndex dla funkcji find ().
Zmienne startIndex i count zostaną zainicjalizowane na 0. Wewnątrz for -loop sprawdzi, czy podłańcuch jest obecny w ciągu podanym za pomocą funkcji find () i startIndex jako 0.
Wartość zwrócona przez find (), jeśli nie jest równa -1, zaktualizuje startIndex do indeksu, w którym znajduje się ciąg, a także zwiększy wartość licznika.
Oto działający przykład:
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 )
Wynik:
The total count of substring test is: 6
Podsumowanie
- Metoda find () w języku Python pomaga znaleźć indeks pierwszego wystąpienia podłańcucha w danym ciągu. Zwróci -1, jeśli podciąg nie jest obecny.
- Parametry przekazywane do metody find substring w Pythonie to podciąg, czyli ciąg znaków, który chcesz wyszukać, rozpocząć i zakończyć. Wartością początkową jest domyślnie 0, a wartością końcową jest długość ciągu.
- Możesz przeszukać podciąg w podanym ciągu i określić pozycję początkową, od której rozpocznie się wyszukiwanie. Parametr start może być użyty do tego samego.
- Używając parametru start i end, spróbujemy ograniczyć wyszukiwanie, zamiast przeszukiwać cały ciąg.
- Funkcja rfind () w Pythonie jest podobna do funkcji find () z tą różnicą, że rfind () daje najwyższy indeks dla danego podłańcucha, a funkcja find () najniższy, tj. Pierwszy indeks. Zarówno rfind (), jak i find () zwrócą -1, jeśli podłańcuch nie jest obecny.
- Python string index () to kolejna funkcja, która poda pozycję podanego podłańcucha, podobnie jak find (). Jedyna różnica między nimi polega na tym, że funkcja index () zgłosi wyjątek, jeśli w ciągu nie ma podłańcucha, a funkcja find () zwróci wartość -1.
- Możemy skorzystać z funkcji find (), aby znaleźć całkowitą liczbę wystąpień podciągu w danym ciągu.