Iphone 测试NSString是否包含字母

Iphone 测试NSString是否包含字母,iphone,Iphone,我正在处理一个iPhone项目,我需要检查用户在UITextfield中的输入是否包含字母。如果NSString包含字母,则更一般 我用带有rangeofstring:@“a”的巨大if循环尝试了这个方法。location==NSNotFound然后执行了或rangeofstring:@“B”。location==NSNotFound 等等 但是: 它似乎不起作用 必须有一行简单的代码来检查NSString是否包含字母 我已经找了好几个小时了。。。有人能回答这个问题吗?使用NSCharacter

我正在处理一个iPhone项目,我需要检查用户在
UITextfield
中的输入是否包含字母。如果
NSString
包含字母,则更一般

我用带有
rangeofstring:@“a”的巨大if循环尝试了这个方法。location==NSNotFound
然后执行了或
rangeofstring:@“B”。location==NSNotFound

等等

但是:

  • 它似乎不起作用
  • 必须有一行简单的代码来检查NSString是否包含字母

  • 我已经找了好几个小时了。。。有人能回答这个问题吗?

    使用
    NSCharacterSet
    。请注意,
    letterCharacterSet
    包括所有“字母”或“表意文字”的内容。因此,包括和中, 但通常这就是你想要的。如果您想要一组特定的字母(如英文字母),可以使用
    characterSetWithCharactersInString:
    用它们构建自己的
    NSCharacterSet

    if ([string rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location == NSNotFound)
    

    如果要确保文本中包含某个字母(而不是任何字母),请使用
    rangeOfString:
    消息。例如,为确保文本包含字母“Q”:

    正如其他人(Rob Napier)所指出的,如果要查找任何字母,请使用
    rangeOfCharacterFromSet:
    消息

    if ([string rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound) ...
    

    它是否应该是字符fromset:的
    范围?
    
    if ([string rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound) ...