Wat is de gemakkelijkste manier in Python om een karakter in een string te vervangen?
Bijvoorbeeld:
text = "abcdefg";
text[1] = "Z";
^
Pas strings niet aan.
Werk ermee als lijsten; verander ze alleen in tekenreeksen als dat nodig is.
>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
Python strings zijn onveranderlijk (d.w.z. ze kunnen'niet worden gewijzigd). Daar zijn veel redenen voor. Gebruik lijsten totdat je geen keus hebt, maak er dan pas strings van.
new = text[:1] + 'Z' + text[2:]
Python strings zijn onveranderlijk, je verandert ze door een kopie te maken.
De makkelijkste manier om te doen wat je wilt is waarschijnlijk.
text = "Z" + text[1:]
De text[1:] geeft de string in tekst terug vanaf positie 1 tot het einde, posities tellen vanaf 0 dus '1' is het tweede karakter.
bewerken: Je kunt dezelfde string slicing techniek gebruiken voor elk deel van de string
text = text[:1] + "Z" + text[2:]
Of als de letter maar één keer voorkomt, kun je de zoek en vervang techniek gebruiken die hieronder