我如何在objective-c中使它只允许使用带有-z字符的字符串? I.E.没有&字符,无字符等。
谢谢! 克里斯蒂安斯图尔特
答案 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