Löschen von zeichen

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.
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Löschen von zeichen

Beitragvon Ingo » Donnerstag 4. Dezember 2008, 16:15

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.
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 4. Dezember 2008, 16:18

Code: Alles auswählen

In [1]: "abc124".replace("1", "")
Out[1]: 'abc24'
jimKnopf
User
Beiträge: 11
Registriert: Donnerstag 4. Dezember 2008, 08:52

Beitragvon jimKnopf » Donnerstag 4. Dezember 2008, 16:27

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
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Beitragvon Ingo » Donnerstag 4. Dezember 2008, 16:30

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.
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 4. Dezember 2008, 16:43

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 ;)
Benutzeravatar
roschi
User
Beiträge: 225
Registriert: Samstag 29. März 2008, 18:58
Wohnort: Thueringen, Deutschland
Kontaktdaten:

Beitragvon roschi » Freitag 5. Dezember 2008, 22:20

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
Fuer Alle, die in Python einsteigen wollen, kann ich das Buch A Byte of Python nur waermstens empfehlen!

Wer ist online?

Mitglieder in diesem Forum: Yahoo [Bot]