Operacje tekstowe i formatowanie tekstu

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 15046 razy

Operacje tekstowe

Łączenie tekstów

name = "Jan" surname = "Kowalski" nameAndSurname = "Nazwisko i imię: " nameAndSurname += "Jan" + " " + "Kowalski" print(nameAndSurname)

Wynik działania powyższego kodu:

Jan Kowalski

Powtarzanie danego tekstu

print("=" * 70) print("Wstęp:") print("=" * 70)

Długość tekstu

Istnieją dwa sposoby pozyskiwania długości tekstu, pierwszy za pomocą funkcji len:

text = "Jakiś tekst" print(len(text))

drugi za pomocą bezpośredniego użycia wewnętrznej metody obiektu typu str:

print("Jakiś tekst".__len__())

Dzielenie tekstu

Istnieje wewnętrzna metoda obiektów typu str, która umożliwia podział tekstu. Gdy metoda ta nie otrzymuje żadnych argumentów podział następuje względem znaku spacji:

text = "Jakiś tekst do podziału".split() print(text)

Wynik działania powyższego kodu:

['Jakiś', 'tekst', 'do', 'podziału']

drugi za pomocą bezpośredniego użycia wewnętrznej metody obiektu typu str:

print("Jakiś tekst do podziału\nna części".split("\n"))

Wynik działania powyższego kodu:

['Jakiś tekst do podziału', 'na części']

Wycinanie fragmentu tekstu

W bardzo prosty sposób można wycinać fragmenty tekstu w następujący sposób:

tekst = "Jakiś tekst przykładowy"[6:11] print(tekst)

Wynik działania powyższego kodu:

'tekst'

Odwracanie tekstu

W równie prosty sposób można odwracać tekst:

print("Jakiś tekst do odwrócenia"[::-1])

Wynik działania powyższego kodu:

'ainecórwdo od tsket śikaJ'

Kodu tego można użyć do napisania prostego programu sprawdzającego, czy dany wyraz jest palindromem:

tekst = input("Podaj wyraz do sprawdzenia, czy jest palindromem: ") if tekst == tekst[::-1]: print("Palindrom") else: print("To nie jest palindrom")

Przykład działania:

Podaj wyraz do sprawdzenia, czy jest palindromem: sos
Palindrom

Znajdowanie tekstu w tekście

Istnieją dwie metody obiektów typu str, pierwsza z nich to find:

tekst = "Jakiś tekst przykładowy" print(tekst.find("tekst"))

Metoda ta zwraca -1, gdy nie znaleziono wystąpienia elementu w tekście. Druga metoda już tak przyjemnego oznaczenia nie zwraca i jest to metod index:

tekst = "Jakiś tekst przykładowy" print(tekst.index("tekst"))

Wynik działania powyższego kodu jest taki sam jak poprzedniego.

Wynik działania powyższego kodu:

6

Zamiana liter na duże

Istnieje wewnętrzna metoda obiektów typu str, która zamienia małe litery na duże:

tekst = "Jakiś tekst przykładowy" print(tekst.upper())

Wynik działania powyższego kodu:

JAKIŚ TEKST PRZYKŁADOWY

Zamiana liter na małe

Istnieje wewnętrzna metoda obiektów typu str, która zamienia małe litery na małe:

tekst = "Jakiś tekst przykładowy" print(tekst.lower())

Wynik działania powyższego kodu:

jakiś tam przykładowy tekst

Zamiana pierwszych liter wyrazów na duże

Istnieje wewnętrzna metoda obiektów typu str, która zamienia pierwsze litery wszystkich wyrazów na dóże:

tekst = "Jakiś tekst przykładowy" print(tekst.title())

Wynik działania powyższego kodu:

Jakiś Tam Przykładowy Tekst

Zliczanie liczby wystąpień tekstu w tekście

Istnieje wewnętrzna metoda obiektów typu str, która zwraca ile razy dany tekst mieści się w tekście:

tekst = "Jakiś tekst przykładowy" print(tekst.count("tekst"))

Wynik działania powyższego kodu:

1

Wypośrodkowanie tekstu

Istnieje wewnętrzna metoda obiektów typu str, która wypośrodkowuje tekst:

tekst = "Jakiś tam przykładowy tekst" print(tekst.center(70)) # liczba 70 oznacza liczbę znaków dla pojedynczej linii tekstu

Wynik działania powyższego kodu:

                     Jakiś tam przykładowy tekst

Zamiana tekstu w tekście

Istnieje wewnętrzna metoda obiektów typu str, która umożliwia podmianę wystąpienia danego tekstu w innym tekście:

tekst = "Jakiś tam przykładowy text" print(tekst.replace("text", "tekst"))

Wynik działania powyższego kodu:

Jakiś tam przykładowy tekst

Formatowanie tekstu

Formatowanie w stylu wersji Pythona < 3.0

name = input("Podaj imię: ") surname = input("Podaj nazwisko: ") age = int(input("Podaj wiek: ")) weight = float(input("Podaj wagę [kg]: ")) print("%s\nImię: %s\nNazwisko: %s\n%s\nWiek: %3d\nWaga [kg]: %5.1f"%("="*70,name, surname, "=" * 70, age, weight))

W powyższym kodzie użyto następujących znaczników:

Przykładowy wynik działania kodu:

Podaj imię: Jan
Podaj nazwisko: Kowalski
Podaj wiek: 80
Podaj wagę [kg]: 70.7
===================================================================
Imię: Jan
Nazwisko: Kowalski
===================================================================
Wiek:  80
Waga [kg]:  70.7

Formatowanie w stylu wersji Pythona >= 3.0

name = input("Podaj imię: ") surname = input("Podaj nazwisko: ") age = int(input("Podaj wiek: ")) weight = float(input("Podaj wagę [kg]: ")) print("{line}\nImię: {name}\nNazwisko: {surname}\n{line}\nWiek: {age:3d}\nWaga [kg]: {weight:5.1f}".format(line="="*70,name=name, surname=surname, age=age, weight=weight))

Wstawianie znaków specjalnych

W tekście można wstawiać następujące znaczniki znaków specjalnych:

Propozycje książek