Seite 1 von 1

Löschen von zeichen

Verfasst: Donnerstag 4. Dezember 2008, 16:15
von Ingo
Hallo zusammen,
Gibt es eine Möglichkeit bestimmte zeichen zu löschen.
Beispiel ich habe in einer Variablen eine zahl stehen mit unerwünschten zeichen. ich kenne nur replace. aber ich will nicht ersetzten sondern nur entfernen.

Verfasst: Donnerstag 4. Dezember 2008, 16:18
von cofi

Code: Alles auswählen

In [1]: "abc124".replace("1", "")
Out[1]: 'abc24'

Verfasst: Donnerstag 4. Dezember 2008, 16:27
von jimKnopf
wenn du unterschiedliche Zeichen hast kannst du es auch mit regulären ausdrücken machen

import re
var=re.sub(r[ausdruck],"",inputstring)

Grüße

Verfasst: Donnerstag 4. Dezember 2008, 16:30
von Ingo
Ich meine das so:
Ich habe eine zahl und nach der zahl sind unerwünschte zeichen. dies alles ist in einer variablen gespeichert. jetzt habe ich eine position ermittelt wo die unerwünschte zeichen anfangen. ich möchte, dass alles was nach der zahl kommt gelöscht wird. egal was es ist. alles weg.

Verfasst: Donnerstag 4. Dezember 2008, 16:43
von cofi
Dann sag das doch auch ;)

Du kannst "".find(), "".rfind() mit slicing kombinieren um das zu schaffen. Um dir allerdings besser zu helfen, muss man wissen wie diese Nummern aussehen und was in den unerwünschten Zeichen steht.

Wenn du alles nach der letzten 1 loswerden willst:

Code: Alles auswählen

In [5]: string = "abc12413uhkli"

In [6]: string[:string.rfind("1")+1]
Out[6]: 'abc1241'
Nach der ersten 1 benutzt du stattdessen .find().

Aber die Frage ist natürlich kommt dein Trennzeichen auch in den unerwünschten Zeichen vor? Wenn ja wirds schwieriger ;)

Verfasst: Freitag 5. Dezember 2008, 22:20
von roschi
wenn du weist, wo die unerwuenschten zeichen anfangen...
wo liegt dann das problem?

Code: Alles auswählen

>>> s = "644scd"
>>> pos = 3
>>> s = s[:pos]
<<< print s
lg
roschi