Jak zamienić znaki w ciągu w Pythonie

Dowiedz się, jak zamieniać znaki lub podciągi w ciągach Pythona. Opanuj metodę zamiany(), limity zliczania i używanie tłumaczenia dla wielu znaków.

Wypróbuj to rozwiązanie w Edytorze

Przegląd

Manipulacja ciągami jest podstawą analizowania danych wejściowych, renderowania szablonów, czyszczenia danych i generowania tekstu wyjściowego. W Pythonie modyfikowanie określonych znaków lub podciągów wewnątrz bloku tekstowego jest proste, ale wymaga zrozumienia podstawowej właściwości ciągów znaków: niezmienności.

Ponieważ ciągi znaków w Pythonie są niezmienne, nie można lokalnie modyfikować ich znaków (np. wpisanie `text[0] = "A"` wywołuje błąd `TypeError`). Zamiast tego każda operacja zmieniająca ciąg musi utworzyć i zwrócić zupełnie nowy ciąg. Podstawowym narzędziem do tego jest wbudowana metoda `.replace()`.

Metoda `.replace(old, new)` wyszukuje w ciągu znaków wszystkie wystąpienia określonego podciągu i zastępuje je nowym podciągiem. Można także określić opcjonalny trzeci argument „count”, który ogranicza liczbę zamian do wykonania od lewej do prawej. W przypadku bardziej złożonych, wieloznakowych zamian można użyć metody `.translate()` lub wyrażeń regularnych z funkcją `re.sub()`.

Dane wyjściowe kodu i wykonania

Ten skrypt demonstruje modyfikowanie ciągów poprzez zamianę podciągów i znaków przy użyciu metody zamiany().

replace_chars.py
Spróbuj w Edytorze
text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
Wyjście terminala
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

Wdrażanie krok po kroku

  • Wywołaj metodę .replace() na docelowym ciągu znaków.
  • Przekaż docelowy podciąg jako pierwszy argument, a zamianę jako drugi.
  • Użyj argumentu count, jeśli chcesz ograniczyć liczbę zamian.

Często zadawane pytania

Jak lokalnie zastąpić znaki w ciągu znaków?

Nie możesz, ponieważ ciągi znaków Pythona są niezmienne. Musisz przypisać wynik metody .replace() z powrotem do zmiennej łańcuchowej: tekst = tekst.replace(...).

Czy w zamian() rozróżniana jest wielkość liter?

Tak, w funkcji .replace() rozróżniana jest wielkość liter. Aby wykonać zamianę nieuwzględniającą wielkości liter, musisz użyć wyrażeń regularnych z modułem re i re.IGNORECASE.

Powiązane tematy

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.