str.replace() în Python

Metode pentru șiruri Python 3.0+ (count ca nume: 3.13+)

Înlocuiește într-un text toate aparițiile unui subșir cu altul.

Sintaxă
text.replace(vechi, nou, count=-1)

Ce face str.replace()

replace() returnează un text nou în care fiecare apariție a lui vechi este înlocuită cu nou. Cu count limitezi numărul de înlocuiri, de la stânga. Înlocuirea ține cont de majuscule.

Pentru mai multe înlocuiri de caractere deodată, translate() este mai rapid. Pentru modele (orice cifră, orice spațiu) folosește re.sub(). bytes.replace() funcționează la fel pe octeți.

Parametri

Parametru Descriere
vechi Subșirul căutat.
nou Textul pus în loc.
count Opțional. Numărul maxim de înlocuiri. Implicit toate.

Ce returnează

Un text nou.

Exemple

Exemplul 1: Înlocuiri simple

text = "Ana are mere. Ana vinde mere."
print(text.replace("mere", "pere"))
print(text.replace("Ana", "Ioana", 1))
print("12,50".replace(",", "."))

Rezultat

Ana are pere. Ana vinde pere.
Ioana are mere. Ana vinde mere.
12.50

Exemplul 2: Ștergerea unor caractere și înlocuiri în lanț

telefon = "0722-111 222"
print(telefon.replace("-", "").replace(" ", ""))
print(b"a-b-c".replace(b"-", b"+"))

Rezultat

0722111222
b'a+b+c'

Greșeli frecvente

  • Te aștepți ca textul original să se schimbe. replace() returnează un text nou: text = text.replace(...).
  • Înlocuiești "Ana" și se schimbă și "Anabela". Pentru cuvinte întregi folosește re.sub(r"\bAna\b", ...).

Comenzi înrudite