假设我从NSString中提取单个字符,如下所示:
[@"This is my String" characterAtIndex:0]
如何判断我得到的字符是小写还是大写?
感谢您的任何帮助!
答案 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]匹配,则为大写。