Objective-C检查字符串中的不允许字符

时间:2010-08-31 03:55:59

标签: objective-c string

我如何在objective-c中使它只允许使用带有-z字符的字符串? I.E.没有&字符,无字符等。

谢谢! 克里斯蒂安斯图尔特

1 个答案:

答案 0 :(得分:10)

NSCharacterSet将成为关键。首先,您需要字母字符集:

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

然后,如果你想检查字符串是否包含不是字母的字符,你可以使用这个字符的反转:

NSCharacterSet* notLetters = [letters invertedSet];

然后将NSString的{​​{3}}与notLetters一起使用,如果范围不以NSNotFound开头,则字符串中会有禁用的字符。

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