Seite 1 von 1

string replace problem

Verfasst: Sonntag 31. Januar 2010, 02:18
von neomeister
Hi Leute
ich habe im Buch Objektorientiere Programmierung mit Python ein Beispiel gefunden, in dem Satzzeichen aus einem Text entfernt werden sollen. Beim Testen des Codes macht er aber nicht das was er soll. Es scheint so als würde er bei jedem schleifendurchlauf wieder auf den ursprünglichen String zurückgreifen. Ich habe das Beispiel mal aus der Python shell kopiert.

gruß Daniel

Code: Alles auswählen

>>> text = ('abc, bcd: ; abc!')
>>> print text
abc, bcd: ; abc!
>>> for p in ',:;!':
	text.replace(p,'')

'abc bcd: ; abc!'
'abc, bcd ; abc!'
'abc, bcd:  abc!'
'abc, bcd: ; abc'
>>> print text
abc, bcd: ; abc!

Re: string replace problem

Verfasst: Sonntag 31. Januar 2010, 02:58
von Francesco
1) Strings sind nicht veränderbar
2) text.replace ändert nicht text selbst sondern liefert den neuen text zurück

Code: Alles auswählen

for p in ',:;!':
    text = text.replace(p,'')

Re: string replace problem

Verfasst: Sonntag 31. Januar 2010, 13:39
von neomeister
Francesco hat geschrieben:1) Strings sind nicht veränderbar
2) text.replace ändert nicht text selbst sondern liefert den neuen text zurück

Code: Alles auswählen

for p in ',:;!':
    text = text.replace(p,'')
omg so gehts ... naja auch bücher sind nicht immer fehlerfrei.. danke :-)