Hallo zusammen,
Ich arbeite an einem Programm zum Verschlüsseln. Nach der Eingabe eines Textes sollen alle Sonderzeichen gestrichen sowie Umlaute und ß umgewandelt werden. Es muss doch noch eine bessere Lösung geben, als auf alle möglichen Zeichen einzeln den Replace-Befehl anzuwenden...
Hat jemand eine Idee?
Liebe Grüße
Mehrere Zeichen im String ersetzen
Wenn es verlustbehaftet sein darf, dann gäbe es auch noch: https://pypi.python.org/pypi/Unidecode/
Mir würde als erstes das einfallen:
Code: Alles auswählen
import string
allowed = set(string.ascii_letters)
text = 'afgfg__bbbx..gfggr_ccaad**~~;;:gt????bbb'
result = ''.join(char for char in text if char in allowed)
# etwas schneller
result = ''.join(filter(allowed.__contains__, text))
Die komischen Pünkchen und Striche über den Zeichen kann man so entfernen:
Code: Alles auswählen
>>> unicodedata.normalize("NFD", u"Renè schläft im Büro.").encode('ASCII', 'ignore')
'Rene schlaft im Buro.'