String Filter

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
mojo2k8
User
Beiträge: 1
Registriert: Mittwoch 12. August 2009, 17:39

Hallo!
Ich bin neu in der Python-Welt und habe gleich mal eine Frage:
Und zwar suche ich nach einer Möglichkeit einen String zu filtern. Das Problem dabei ist, dass an die Funktion zwei Variablen übergeben werden sollen:
1.) Der String, der gefiltert werden soll
2.) Die Zeichen, die erhalten bleiben sollen

Aufgerufen werden soll das so
filtered_string = FilterString('1234567890','3690')
Das Ergebnis sollte dann 124578

Leider weiß ich nicht, wie man das umsetzen kann. Alle Beispiele die ich bis jetzt gefunden habe, zeigen nur wie man die Zeichen angeben kann, die gelösch werden sollen.

Vielen Dank schon einmal für eure Hilfe
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

mojo2k8 hat geschrieben: Leider weiß ich nicht, wie man das umsetzen kann. Alle Beispiele die ich bis jetzt gefunden habe, zeigen nur wie man die Zeichen angeben kann, die gelösch werden sollen.
Dann dreh doch die Bedingung einfach um!

Code: Alles auswählen

In [37]: data = "1234567890"

In [38]: forbidden = "3690"

In [39]: "".join([c for c in data if c not in forbidden])
Out[39]: '124578'
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen im Forum!

Aber: ``forbidden`` besser als Set und die eckigen Klammern kann man sich schenken ;)

Code: Alles auswählen

In [64]: data = "1234567890"

In [65]: forbidden = set("3690")

In [66]: "".join(c for c in data if c not in forbidden)
Out[66]: '124578'
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

cofi hat geschrieben: Aber: ``forbidden`` besser als Set und die eckigen Klammern kann man sich schenken ;)
Alter Nörgelfritze :-P

SCNR. Ist schon ok :-)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Hyperion hat geschrieben:Alter Nörgelfritze :-P
Ich hoffe nur, dass ich die Code Golfer nich aufgeschreckt hab :twisted:
Antworten