Co to są metody split(), sub(), subn() w Python regex?

Wyrażenia regularne (regular expressions, regex) w Pythonie to potężne narzędzie do przeszukiwania, dopasowywania oraz manipulowania tekstami. Wśród wielu dostępnych metod, szczególnie przydatne są split(), sub(), i subn(). Te metody pozwalają odpowiednio na dzielenie ciągów znaków, zastępowanie pasujących fragmentów tekstu oraz zastępowanie z podaniem liczby dokonanych zmian. W tym artykule szczegółowo omówimy każdą z tych metod, zaprezentujemy przykłady kodu i wyjaśnimy, jak mogą być używane w praktyce.

Metoda split()

Metoda split() jest używana do dzielenia ciągu znaków na listę poprzez dopasowanie podanego wzorca regex. Jest to szczególnie przydatne, kiedy potrzebujemy podzielić tekst na podstawie określonego separatora, który może mieć różne formy.

import re

# Tekst do podziału
text = "Jabłka, Banany; Gruszki, Śliwki; Pomarańcze"

# Dzielenie tekstu na podstawie przecinków i średników
fruits = re.split(r"[,;]\s*", text)
print(fruits)  # Wyświetla listę podzielonych elementów

Metoda sub()

Metoda sub() pozwala na zastępowanie wszystkich dopasowań wzorca regex w ciągu znaków innym ciągiem znaków. Jest to bardzo użyteczne do czyszczenia danych, zamiany formatów dat, numerów telefonów itp.

import re

# Tekst do modyfikacji
text = "Witaj w 2023 roku!"

# Zastępowanie cyfr wyrazem "rok"
modified_text = re.sub(r"\d+", "rok", text)
print(modified_text)  # Wyświetla zmodyfikowany tekst

Metoda subn()

Metoda subn() działa podobnie do sub(), ale zwraca krotkę zawierającą zmodyfikowany ciąg znaków oraz liczbę dokonanych zastąpień. Jest to przydatne, gdy chcemy wiedzieć, ile zmian zostało dokonanych w tekście.

import re

# Tekst do modyfikacji
text = "Znajdź i zamień wszystkie cyfry: 1234"

# Zastępowanie cyfr wyrazem "liczba" oraz zwrócenie liczby zastąpień
modified_text, num_of_subs = re.subn(r"\d+", "liczba", text)
print(modified_text)  # Zmodyfikowany tekst
print("Liczba zastąpień:", num_of_subs)  # Liczba dokonanych zastąpień

Podsumowanie

Metody split(), sub(), i subn() są niezwykle przydatne w pracy z tekstami w Pythonie, pozwalając na łatwe dzielenie ciągów znaków, ich modyfikowanie oraz śledzenie liczby dokonanych zmian. Dzięki nim możemy efektywnie manipulować danymi tekstowymi, co jest szczególnie ważne w zadaniach związanych z przetwarzaniem języka naturalnego, czyszczeniem danych czy analizą tekstów. Warto więc nauczyć się ich stosować w praktyce, aby móc w pełni wykorzystać możliwości, jakie oferuje Python.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top