Seite 1 von 1

String Filter

Verfasst: Mittwoch 12. August 2009, 19:35
von mojo2k8
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

Re: String Filter

Verfasst: Mittwoch 12. August 2009, 20:03
von Hyperion
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'

Verfasst: Mittwoch 12. August 2009, 20:33
von cofi
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'

Verfasst: Mittwoch 12. August 2009, 20:34
von Hyperion
cofi hat geschrieben: Aber: ``forbidden`` besser als Set und die eckigen Klammern kann man sich schenken ;)
Alter Nörgelfritze :-P

SCNR. Ist schon ok :-)

Verfasst: Mittwoch 12. August 2009, 20:40
von cofi
Hyperion hat geschrieben:Alter Nörgelfritze :-P
Ich hoffe nur, dass ich die Code Golfer nich aufgeschreckt hab :twisted: