如何检测字符是大写还是小写?

时间:2011-06-15 10:05:22

标签: objective-c detect uppercase lowercase

假设我从NSString中提取单个字符,如下所示:

[@"This is my String" characterAtIndex:0]

如何判断我得到的字符是小写还是大写?

感谢您的任何帮助!

4 个答案:

答案 0 :(得分:34)

BOOL isUppercase = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[s characterAtIndex:0]];

答案 1 :(得分:5)

unichar ch = [@"This is my String" characterAtIndex:0];

if (ch >= 'A' && ch <= 'Z') {
    // upper case
} else if (ch >= 'a' && ch <= 'z') {
   // lower case
}

请注意,这仅适用于英文字母。

答案 2 :(得分:1)

NSString *firstChar = [NSString stringWithFormat:@"%c", [@"This is my String" characterAtIndex:0]];

BOOL isUpperCase = [firstChar isEqualToString:[firstChar uppercaseString]];

请注意,如果字符没有大写/小写变体(如数字1,2等),则isUpperCase始终返回YES。

答案 3 :(得分:-1)

我不知道目标C,但你可以使用正则表达式。如果它匹配[a-z],那么它是小写的。如果它与[A-Z]匹配,则为大写。