string replace problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
neomeister
User
Beiträge: 2
Registriert: Sonntag 31. Januar 2010, 01:56

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!
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

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,'')
neomeister
User
Beiträge: 2
Registriert: Sonntag 31. Januar 2010, 01:56

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 :-)
Antworten