Überprüfen Sie, ob NSString sowohl Buchstaben als auch Zahlen enthält

7

Ich suche nach der besten Möglichkeit zu überprüfen, ob ein NSString numerische und alphabetische Zeichen enthält. Was ich bisher herausgefunden habe, ist der Code unten, aber das sagt mir nur, dass keine Zeichen eingegeben wurden, die keine Zahlen oder Buchstaben sind.

%Vor%     
ADude 21.08.2010, 20:36
quelle

3 Antworten

14

Trimmen Sie einfach letterCharacterSet und decimalDigitCharacterSet und prüfen Sie, ob die erzeugte Zeichenkette nicht der ursprünglichen Zeichenkette entspricht:

%Vor%     
kovpas 21.08.2010, 20:59
quelle
5

kovpas 'Antwort funktioniert gut, wenn Sie Buchstaben am Anfang oder Ende und Ziffern am anderen Ende haben. Ein Problem tritt auf, wenn Ziffern zwischen Buchstaben eingebettet sind und umgekehrt, z. B. "abc123abc". Hier ist eine Lösung:

%Vor%     
Amory 08.12.2012 05:53
quelle
4

Ich bin mir nicht sicher, ob die beiden vorherigen Antworten die Anforderungen abdecken, also ist dies eine Antwort, die einer strengeren Auslegung der Anforderungen entspricht.

Nehmen Sie die Anforderungen aus den Kommentaren im Code des ursprünglichen Beitrags:

%Vor%

Dies bedeutet, dass eine Zeichenfolge, die den Test bestehen soll, nur aus Zahlen und Buchstaben und mindestens einer Zeichenfolge bestehen muss.

NSString 's rangeOfCharacterFromSet: findet ein Zeichen in einer Zeichenkette, wenn es zu einer bestimmten Gruppe gehört, also können wir diese verwenden.

%Vor%

Wie in den Dokumenten beschrieben, gibt rangeOfCharacterFromSet: einen NSRange von {NSNotFound, 0} zurück, falls kein Zeichen aus der Menge in der Zeichenfolge gefunden wird. Dies ähnelt anderen Methoden zum Suchen nach Zeichenfolgen oder Zeichen in einer Zeichenfolge in Cocoa.

    
Monolo 13.05.2013 14:53
quelle

Tags und Links