10.1 Iteracja przez znaki tekstu
W Pythonie teksty często traktowane są jako tablice/listy znaków, co czyni je szczególnie wygodnymi do manipulacji, podobnie jak z tablicami w innych językach programowania.
Skoro tekst to zbiór znaków, to można przez nie przejść za pomocą pętli.
Pętla przez znaki tekstu
Do iteracji po każdym znaku tekstu można użyć prostej pętli for. Pozwala to na wykonywanie operacji na każdym znaku osobno:
|
|
Ważne! W Pythonie nie istnieje typ char dla pojedynczego znaku. Jeden znak tekstu to wciąż tekst.
10.2 Określenie długości tekstu
Co jeszcze można zrobić z tekstem? No oczywiście określić jego długość - dowiedzieć się, ile ma znaków. W tym celu w Pythonie jest specjalna wbudowana funkcja len(). Ta funkcja zwraca ilość znaków w tekście:
text = "Hello, world!"
length = len(text)
print(length) # Wyświetli: 13
10.3 Pobieranie konkretnego znaku
Możesz także pobrać konkretny znak tekstu po jego numerze. A dokładniej, po jego indeksie.
Ważne! Indeksy list i tablic w Pythonie zaczynają się od 0. Jeśli tekst ma 10 znaków, to będą miały indeksy: 0, 1, 2, ...9.
Ogólny sposób pobierania znaku po indeksie wygląda tak:
string[index]
Wyświetlimy teraz na ekranie wszystkie znaki tekstu, ale odwołamy się do nich po ich indeksach:
|
|
10.4 Wystąpienie podtekstu
Sprawdzenie wystąpienia jednego tekstu w innym to jedno z podstawowych zadań, które często trzeba rozwiązać przy programowaniu w Pythonie. Ta możliwość jest szeroko wykorzystywana w wielu aplikacjach, w tym przetwarzaniu danych tekstowych, walidacji danych wejściowych od użytkownika i wyszukiwaniu danych w tekstach.
Dla tego zadania w Pythonie są różne metody, zarówno unikalne tylko dla niego, jak i powszechne w innych językach programowania:
Operator in:
To najprostsza i często stosowana metoda do sprawdzania obecności podtekstu w tekście. Zwraca True, jeśli podtekst występuje w tekście, i False w przeciwnym wypadku.
text = "Hello, world!"
print("world" in text) # Wyświetli: True
Metoda find():
Metoda find() zwraca indeks pierwszego wystąpienia podtekstu w tekście, jeśli podtekst jest znaleziony, i -1, jeśli podtekst jest nieobecny. Pozwala to nie tylko sprawdzić obecność podtekstu, ale i poznać jego pozycję.
text = "Hello, world!"
position = text.find("world")
print(position) # Wyświetli: 7
Metoda index():
Podobnie jak find(), ale zamiast zwracać -1 przy braku podtekstu, metoda index() generuje wyjątek ValueError. Ta metoda jest użyteczna, gdy brak podtekstu jest nieoczekiwany i powinien wywołać błąd.
text = "Hello, world!"
try:
position = text.index("world")
print(position) # Wyświetli: 7
except ValueError:
print("Podtekst nie znaleziony.")
Metoda count():
Metoda count() zlicza, ile razy podtekst występuje w tekście. Jest to użyteczne, gdy trzeba wiedzieć nie tylko o fakcie wystąpienia, ale i liczbie wystąpień.
text = "Hello, world!"
cnt = text.count("l")
print(cnt) # Wyświetli: 3
GO TO FULL VERSION