[Python-de] Zeichen in einem String ersetzen

Florian Diesch diesch at spamfence.net
Fr Jul 1 11:37:16 CEST 2011


 Am Freitag, den 01.07.2011, 10:01 +0200 schrieb "Wagner, Frank" 
 <F.Wagner at wika.de>:
> ich möchte in einem String den Dezimalpunkt durch ein Komma
> ersetzen, leider hat folgender Code keinen Effekt:
>
> anzahl = len(werteliste)
>
> for i in range(anzahl-1):
>
>  werteliste[i].replace(".", ",", 1) # Punkt durch Komma ersetzen zur
>
> Sehe ich mir das im Debugger an so sehen die einzelnen Listenelemente
> wie folgt aus:
>
> werteliste[i] '+3.00305873E+00'
>
> Wenn ich darüber steppe bleibt der Punkt allerdings erhalten.
>
> Ich hab keine Ahnung was ich übersehen habe aber vielleicht kann mir
> einer auf die Sprünge helfen.

 Strings sind in Python unveränderbar. replace() verändert daher nicht 
 den String, sondern
 gibt einen neuen String zurück.

 Nimm daher
   werteliste[i] = werteliste[i].replace(".", ",", 1)


-- 
 <http://www.florian-diesch.de>
 <http://identi.ca/diesch/>


Mehr Informationen über die Mailingliste python-de