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ștere.sub(r"\bAna\b", ...).
Comenzi înrudite
str.translate() și str.maketrans(): Înlocuiește sau șterge mai multe caractere deodată, după un tabel de traducere.re.sub() și re.subn(): Înlocuiește toate potrivirile unui model cu un text sau cu rezultatul unei funcții.str.strip(), lstrip() și rstrip(): Elimină spațiile (sau alte caractere) de la capetele unui text.