Проверка Objective C на наличие недопустимых символов в строке - PullRequest
2 голосов
/ 31 августа 2010

Как бы я в target-c сделал так, чтобы разрешались только строки с символами az?IE нет и символы, нет - символы и т. Д.

Спасибо!Кристиан Стюарт

1 Ответ

10 голосов
/ 31 августа 2010

NSCharacterSet s будут ключом здесь. Сначала вам понадобится набор символов алфавитных символов:

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

И затем, если вы хотите проверить, содержит ли строка символ, который не является буквой, вы можете использовать обратное значение этого набора:

NSCharacterSet* notLetters = [letters invertedSet];

Затем используйте NSString rangeOfCharacterFromSet: с notLetters, и если диапазон не начинается с NSNotFound, в вашей строке есть запрещенные символы.

NSRange badCharacterRange = [myString rangeOfCharacterFromSet:notLetters];
if (badCharacterRange.location != NSNotFound) // found bad characters
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...