检查 NSString 是否只是字母 [英] Check if NSString is only letters
本文介绍了检查 NSString 是否只是字母的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
确保 NSString 仅包含字母 a-z 和 A-Z 的最佳方法是什么.
What's the best way to make sure an NSString contains only the letters a-z and A-Z.
我已经尝试了以下代码,但由于某种原因它不起作用:
I've tried the following code but it's not working for some reason:
NSString *myegex = @"[A-Za-z]";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", myregex];
if (![emailTest evaluateWithObject:self.initials.text]) {
// print error
return;
}
推荐答案
您可以通过创建自己的 NSCharacterSet
然后使用 rangeOfCharacterFromSet 对照该集合检查字符串来以更简单的方式完成此操作:
You can do it in a simpler way by creating your own NSCharacterSet
then checking the string against that set with rangeOfCharacterFromSet:
//Create character set
NSCharacterSet *validChars = [NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"];
//Invert the set
validChars = [validChars invertedSet];
//Check against that
NSRange range = [myString rangeOfCharacterFromSet:validChars];
if (NSNotFound != range.location) {
//invalid chars found
}
这篇关于检查 NSString 是否只是字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文