/ / Objective-C Sprawdź niedozwolone znaki w łańcuchu - cel-c, ciąg

Objective-C Sprawdź niedozwolone znaki w łańcuchu - cel-c, ciąg znaków

W jaki sposób, w obiektywnym celu, sprawiłbym, że dozwolone byłyby tylko ciągi znaków a-z? TO ZNACZY. no i characters, no - characters, etc.

Dzięki! Christian Stewart

Odpowiedzi:

10 dla odpowiedzi № 1

NSCharacterSets będą tutaj kluczowe. Najpierw będziesz potrzebował zestawu znaków alfabetycznych:

NSCharacterSet* letters = [NSCharacterSet characterSetWithRange:NSMakeRange("a", 26)];

A jeśli chcesz sprawdzić, czy ciąg zawiera znak, który nie jest literą, możesz użyć odwrotnego ustawienia tego zestawu:

NSCharacterSet* notLetters = [letters invertedSet];

Następnie użyj NSString"s rangeOfCharacterFromSet: z notLetters, a jeśli zakres nie zaczyna się od NSNotFound, w twoim ciągu są zabronione znaki.

NSRange badCharacterRange = [myString rangeOfCharacterFromSet:notLetters];
if (badCharacterRange.location != NSNotFound) // found bad characters