in welcher Programmiersprache?
wenn du z.B. nach dem Ascii code gehst kannst du schon ganz gut Bereiche ausschliessen. D.h. wenn Ascii code zwischen 0 u. 32 (glaub ich) enthalten ist, ist es auf jeden Fall ein Steuerzeichen usw.
Ergebnis 1 bis 10 von 11
- 24.05.2010, 14:11 #1Alkmene
Themenstarter
- Registriert
- 12.2009
- Beiträge
- 30
Nur Buchstaben und Zahlen zulässig in einem String
Wie kann ich einen String nach Sonderzeichen durchsuchen, bzw umgekehrt prüfen ob in einem String nur Buchstaben(groß/klein) und Ziffern enthalten sind?
- 24.05.2010, 14:18 #2Tokyo Rose
- Registriert
- 06.2009
- Beiträge
- 67
- 24.05.2010, 14:20 #3
RegEx: ^[a-zA-Z0-9]+$
„Aber für was ist das gut?“
— Ingenieur von Advanced Computing Systems Division of IBM zur Erfindung des Mikrochips, 1968
- 24.05.2010, 14:21 #4Alkmene
Themenstarter
- Registriert
- 12.2009
- Beiträge
- 30
Das ganze soll in einem Bash-Skript umgesetzt werden.
- 24.05.2010, 14:27 #5Tokyo Rose
- Registriert
- 06.2009
- Beiträge
- 67
na dann ists ja einfach, wie bezierkurve meinte: regular expressions
- 24.05.2010, 14:51 #6
Hi,
es gibt sog. Zeichenklassen in regex. Die Zeichenklasse für Alphanumerisches ist "alnum".
Wenn du jetzt testen willst ob in einem String auch andere als alphanumerische Zeichen enthalten sind suchst du nach "[^[:alnum:]]".
Beispiel:
cuCode:mac:~ steinchen$ echo "123abc=;:" | grep -E '[^[:alnum:]]' 123abc=;: mac:~ steinchen$ echo "123abc" | grep -E '[^[:alnum:]]' mac:~ steinchen$
They have this game where you put in a dollar and win four quarters! I win every time!
- 24.05.2010, 15:12 #7Ähem. Extended RE (--> "egrep"):RegEx:
^[a-zA-Z0-9]+$
[^[:alnum:]]
...
(Und vorher bitte im Zweifelsfall LANG auf die gewünschte Sprache setzen (bzw all die LC_* Umgebungsvariablen). Dann klappts nicht nur mit den deutschen Umlauten, sondern ggf. auch mit dem türkischen "¥". Danke.)Code:^[[:alnum:]]+$
- 24.05.2010, 21:00 #8Alkmene
Themenstarter
- Registriert
- 12.2009
- Beiträge
- 30
Habs nun so gelöst:
Code:var=$(echo "$string" | sed 's/[A-Z/a-z/0-9]//g';) if [ "$var" ]; then { # sollte diese nicht Leer sein, ist der name ungültig err_msg="ungültig" } else err_msg="gültig" } fi {
- 25.05.2010, 14:37 #9They have this game where you put in a dollar and win four quarters! I win every time!
- 25.05.2010, 15:10 #10
Die Bash kann das auch selbst:
. Beachten.Code:if [[ "$1" =~ ^[a-zA-Z0-9]+$ ]]
„Aber für was ist das gut?“
— Ingenieur von Advanced Computing Systems Division of IBM zur Erfindung des Mikrochips, 1968


Zitieren

