Überprüfen Sie, ob eine Zeichenfolge nur Buchstaben, Ziffern und Unterstriche enthält

8

Ich muss prüfen, ob eine Zeichenfolge nur Buchstaben, Ziffern und Unterstriche enthält. So habe ich es versucht, aber es funktioniert nicht:

%Vor%     
Samurai Jack 14.12.2015, 10:05
quelle

6 Antworten

6

Ich liebe Linq für diese Art von Frage:

%Vor%     
Thomas Ayoub 14.12.2015, 10:10
quelle
9

Sie weisen validA jedes Mal erneut zu, ohne den vorherigen Wert zu überprüfen. Jetzt erhalten Sie immer den Wert der letzten durchgeführten Prüfung.

Sie könnten 'und' das Ergebnis:

%Vor%

Dies würde bedeuten, dass Sie immer noch alle Zeichen ausführen, was nutzlos sein kann, wenn die erste Überprüfung fehlgeschlagen ist. Es ist also besser, einfach auszusteigen, wenn es nicht funktioniert:

%Vor%

Oder mit LINQ:

%Vor%     
Patrick Hofman 14.12.2015 10:07
quelle
4

Sie können Regex

verwenden %Vor%     
Sachu 14.12.2015 10:07
quelle
3

Sie könnten versuchen, einen regulären Ausdruck zu finden. Es gibt einen eingebauten Typ für "Buchstaben, Ziffern und Unterstriche", der "\ w" ist.

%Vor%

Wenn Sie 1 oder mehr benötigen, verwenden Sie "\ w +".

Weitere Informationen finden Sie hier: Regex.IsMatch

    
Dinos 14.12.2015 10:09
quelle
2

Ich würde eine Regex

verwenden %Vor%     
Lucas Rodriguez 14.12.2015 10:08
quelle
0

Erstens ist letter ein etwas vager Begriff: Meinst du a..z und A..Z Zeichen oder Buchstaben könnten zu irgendeinem Alphabet gehören, z. а..я und А..Я (Russisch, kyrillische Buchstaben). Gemäß Ihrer aktuellen Implementierung möchten Sie die zweite Option verwenden.

Typische Lösung mit Schleife ist das Überprüfen bis zum ersten Zählerbeispiel:

%Vor%

Sie können den Code jedoch entweder mit Linq vereinfachen:

%Vor%

Oder regulärer Ausdruck :

%Vor%     
Dmitry Bychenko 14.12.2015 10:35
quelle

Tags und Links