Python oferuje szeroki zestaw narzędzi do pracy z tekstem, umożliwiając operacje takie jak przeszukiwanie, modyfikowanie, porównywanie czy formatowanie ciągów znaków. Tekst (ciąg znaków) w Pythonie jest reprezentowany jako typ danych str, który można łatwo manipulować za pomocą różnych metod i operatorów.
1. Podstawowe operacje na tekstach
Tworzenie ciągów znaków
Aby utworzyć ciąg znaków w Pythonie, wystarczy umieścić tekst w pojedynczych ('...') lub podwójnych ("...") cudzysłowach:
tekst1 = 'Ala ma kota’
tekst2 = 'Python jest super’
Łączenie tekstów (konkatenacja)
Można łączyć ciągi znaków za pomocą operatora +:
tekst1 = 'Ala ma ’
tekst2 = 'kota’
wynik = tekst1 + tekst2 # 'Ala ma kota’
Powielanie tekstów
Tekst można powielać, używając operatora *:
tekst = 'ha’ * 3 # 'hahaha’
2. Indeksowanie i wycinanie (slicing)
Ciągi znaków można traktować jak listy znaków, gdzie każdy znak ma przypisany indeks:
- Indeksowanie zaczyna się od 0 (pierwszy znak).
- Można używać indeksów ujemnych, aby liczyć od końca.
Przykład indeksowania:
tekst = 'Python’
pierwszy_znak = tekst[0] # 'P’
ostatni_znak = tekst[-1] # 'n’
Wycinanie tekstu (slicing)
Wycinki pozwalają na pobieranie części tekstu za pomocą składni tekst[start], gdzie:
- start to początkowy indeks (włącznie).
- stop to końcowy indeks (wyłącznie).
Przykłady:
tekst = 'Python’
fragment1 = tekst[1:4] # 'yth’
fragment2 = tekst[:3] # 'Pyt’
fragment3 = tekst[3:] # 'hon’
3. Przeszukiwanie tekstów
Sprawdzanie, czy tekst zawiera określony ciąg znaków
W Pythonie można łatwo sprawdzić, czy dany podciąg występuje w tekście, używając operatora in:
tekst = 'Ala ma kota’
czy_zawiera = 'kot’ in tekst # True
Metoda find()
Służy do wyszukiwania pierwszego wystąpienia określonego ciągu znaków. Zwraca indeks znalezionego podciągu lub -1, jeśli nie znaleziono:
tekst = 'Ala ma kota’
indeks = tekst.find(’kot’) # 7
Metoda count()
Pozwala na zliczenie wystąpień określonego ciągu znaków w tekście:
tekst = 'Ala ma kota, a kot ma Alę’
liczba_wystapien = tekst.count(’kot’) # 2
4. Modyfikowanie tekstów
Zmiana wielkości liter
Metody takie jak upper(), lower(), capitalize(), title() pozwalają na zmianę wielkości liter:
tekst = 'Python jest fajny’
tekst_upper = tekst.upper() # 'PYTHON JEST FAJNY’
tekst_lower = tekst.lower() # 'python jest fajny’
tekst_title = tekst.title() # 'Python Jest Fajny’
Zamiana fragmentów tekstu
Metoda replace() pozwala zamienić wszystkie wystąpienia określonego ciągu znaków na inny:
tekst = 'Ala ma kota’
tekst_zmieniony = tekst.replace(’kot’, 'pies’) # 'Ala ma psa’
5. Formatowanie tekstów
Formatowanie ciągów znaków pozwala na dynamiczne wstawianie wartości do tekstu. Można używać różnych technik, takich jak:
F-Stringi (od wersji 3.6)
Pozwalają na bezpośrednie wstawianie wartości zmiennych do tekstu:
imię = 'Ala’
zwierzę = 'kot’
tekst = f'{imię} ma {zwierzę}a’ # 'Ala ma kota’
Metoda format()
Umożliwia wstawianie wartości do tekstu za pomocą specjalnych znaczników {}:
tekst = 'Ala ma {}’.format(’kota’) # 'Ala ma kota’
6. Rozbijanie i łączenie tekstów
Rozbijanie tekstu na listę słów (split())
Metoda split() pozwala podzielić tekst na listę słów, bazując na określonym separatorze (domyślnie spacja):
tekst = 'Ala ma kota’
słowa = tekst.split() # [’Ala’, 'ma’, 'kota’]
Łączenie listy słów w tekst (join())
Metoda join() pozwala na połączenie elementów listy w jeden ciąg znaków:
słowa = [’Ala’, 'ma’, 'kota’]
tekst = ’ ’.join(słowa) # 'Ala ma kota’
7. Usuwanie białych znaków
Metody strip(), lstrip() i rstrip() służą do usuwania białych znaków z początku i końca tekstu:
tekst = ’ Ala ma kota ’
czysty_tekst = tekst.strip() # 'Ala ma kota’
8. Podsumowanie
Działania na tekstach w Pythonie są intuicyjne i oferują wiele możliwości manipulacji ciągami znaków. Dzięki różnym wbudowanym metodom można łatwo przeszukiwać, modyfikować, formatować i przetwarzać teksty, co czyni Pythona bardzo przydatnym językiem do pracy z danymi tekstowymi.
Przykłady powyżej pokazują podstawowe techniki, które można stosować do rozwiązywania codziennych problemów związanych z przetwarzaniem tekstów. Warto eksperymentować i poznać więcej metod, aby w pełni wykorzystać możliwości Pythona w pracy z ciągami znaków.
Was this helpful?
0 / 0