Was ist der einfachste Weg in Python, um ein Zeichen in einer Zeichenkette zu ersetzen?
Zum Beispiel:
text = "abcdefg";
text[1] = "Z";
^
Ändern Sie keine Zeichenketten.
Arbeiten Sie mit ihnen als Listen; verwandeln Sie sie nur bei Bedarf in Zeichenketten.
>>> 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 sind unveränderlich (d.h. sie können nicht verändert werden). Es gibt eine Menge Gründe dafür. Verwenden Sie Listen, bis Sie keine andere Wahl haben, und verwandeln Sie sie erst dann in Strings.
new = text[:1] + 'Z' + text[2:]
Python-Strings sind unveränderlich, man ändert sie, indem man eine Kopie erstellt.
Der einfachste Weg, das zu tun, was Sie wollen, ist wahrscheinlich.
text = "Z" + text[1:]
Der Text[1:] gibt die Zeichenkette im Text von Position 1 bis zum Ende zurück, die Positionen zählen von 0, so dass '1' das zweite Zeichen ist.
bearbeiten: Sie können die gleiche Technik zum Zerlegen von Strings für jeden Teil des Strings verwenden
text = text[:1] + "Z" + text[2:]
Oder, wenn der Buchstabe nur einmal vorkommt, können Sie die unten vorgeschlagene Technik des Suchens und Ersetzens verwenden unten