Hallo,
wie kann ich nur bestimmte Zeichen in einem String erlauben?
z.b.: möchte ich nur diese erlauben: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
wie mach ich das am besten?
Nur bestimmte Zeichen in einem String erlauben
Generell wüßte ich keine Methode - allerdings könntest du einen kleinen Umweg gehen.
Das sollte mit .replace funktionieren, etwa so :
stringname.replace("ö","oe")
stringname.replace("!","")
Dabei wird z.b. ö mit oe und beim zweiten ! mit "" (fällt weg) ersetzt.
Ist natürlich etwas mehr arbeit.
Ob das stringname.replace ("!", "#", "") - also die ersten Zeichen 'löschen', funktioniert weis ich nicht genau. Aber über die Funktion würde ich mich versuchen schlau zu machen.
Gruß,
Bugfix
Das sollte mit .replace funktionieren, etwa so :
stringname.replace("ö","oe")
stringname.replace("!","")
Dabei wird z.b. ö mit oe und beim zweiten ! mit "" (fällt weg) ersetzt.
Ist natürlich etwas mehr arbeit.
Ob das stringname.replace ("!", "#", "") - also die ersten Zeichen 'löschen', funktioniert weis ich nicht genau. Aber über die Funktion würde ich mich versuchen schlau zu machen.
Gruß,
Bugfix
mhhm.. ich dachte da eher an ein RegEx oder so, weil das für mich irgendwie die "sauberste" Methode ist. Leider bin ich in RegEx eine Null
Wie meinst du erlauben? Bei Benutzereingaben? Oder allgemein?
Du kannst alle anderen zeichen auch einfach aus dem String löschen lassen:
Du kannst alle anderen zeichen auch einfach aus dem String löschen lassen:
Code: Alles auswählen
from re import sub
def loesche(text=""):
return sub('[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890]', '', text)
Was meinst Du mit erlauben? Dass bei einer Zuweisung wie s = "asdfäöüß1234" nicht erlaubte Zeichen in s landen, wirst Du nicht verhindern können (außer Du schreibst Dir Deine eigene String-Klasse). Oder willst Du nur prüfen, ob ein String unerlaubte Zeichen enthält? Da gäbe es einige Möglichkeiten. Guck mal unter http://python.sandtner.net/viewtopic.php?t=548. Da gab es einige Anregungen.Volano hat geschrieben:wie kann ich nur bestimmte Zeichen in einem String erlauben?
Ansonsten mach nochmal genauere Angaben, was Du in welchem Kontext machen willst.
Jan
Wobei hier IMHOMilan hat geschrieben:Code: Alles auswählen
from re import sub def loesche(text=""): return sub('[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890]', '', text)
Code: Alles auswählen
[[:alpha:]]
Jens Kubieziel http://www.kubieziel.de
http://www.kubieziel.de/pythonwiki/
http://www.kubieziel.de/pythonwiki/
Vielen Dank!
es hat so geklappt:
search(r"^[A-Z,a-z,0-9]{" + str(len(UserNick)) + "}$", UserNick)
Grüße, Volano
es hat so geklappt:
search(r"^[A-Z,a-z,0-9]{" + str(len(UserNick)) + "}$", UserNick)
Grüße, Volano
Hallo!
Einfacher:
search(r"[A-Za-z0-9]*$", UserNick)
Jan
So werden aber auch Nicks mit einem Komma drin erkannt. Das in den eckigen Klammern gilt als Zeichenmenge.Volano hat geschrieben:search(r"^[A-Z,a-z,0-9]{" + str(len(UserNick)) + "}$", UserNick)
Einfacher:
search(r"[A-Za-z0-9]*$", UserNick)
Jan