Seite 1 von 1

Sequenz-Operationen in Zeichenketten

Verfasst: Mittwoch 16. April 2008, 07:49
von RedSharky
Hallo,

ich habe ein wahrscheinlich sehr einfaches Problem, an dem ich mir aber die Zähne ausbeiße.

Ich möchte in einer Zeichenkette Zeichen unabhängig vom Inhalt ersetzen und dachte, das ginge etwa so:

s[15:20] = "12345"

Leider sind solche "normalen" Sequenz-Operationen mit einer Zeichenkette nicht möglich.
Was kann man da machen?

Danke

Verfasst: Mittwoch 16. April 2008, 07:57
von Hyperion
Du kannst Zeichenketten nicht verändern. Du musst also eine neue anlegen, etwa so:

Code: Alles auswählen

a = "Test"
a = a[0] + "was neues" + a[1:]
Natürlich ungetestet ;-) Aber ich denke Prinzip sollte klar sein.

Verfasst: Mittwoch 16. April 2008, 07:58
von sma
Strings sind in Python konstant und nicht veränderbar. Du musst einen neuen String bauen.

Code: Alles auswählen

s = s[:15] + "12345" + s[20:]
Stefan

Verfasst: Mittwoch 16. April 2008, 08:03
von mkesper
Sowas steht auch im Tutorial.

Verfasst: Mittwoch 16. April 2008, 08:07
von jens
@RedSharky: mit .replace() kannst du nicht arbeiten?

Verfasst: Mittwoch 16. April 2008, 19:29
von RedSharky
Danke für all eure Antworten.

An solche Sachen wie "String neu aufbauen" und replace() hatte ich schon gedacht, aber mir kam das zu sehr nach Holzhammermethode vor. Normalerweise gibt es da doch immer eine elegante/schnelle Lösung. replace() nicht so optimal, weil ich immer erst feststellen muss, was dort steht, um es dann zu ersetzen, obwohl es eigentlich egal ist.