问题描述
|
假设我从NSString中提取了一个字符,如下所示:
[@\"This is my String\" characterAtIndex:0]
如何确定我得到的字符是小写还是大写?
感谢您的关注!
解决方法
BOOL isUppercase = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[s characterAtIndex:0]];
, unichar ch = [@\"This is my String\" characterAtIndex:0];
if (ch >= \'A\' && ch <= \'Z\') {
// upper case
} else if (ch >= \'a\' && ch <= \'z\') {
// lower case
}
请注意,这仅适用于英文字母。
, NSString *firstChar = [NSString stringWithFormat:@\"%c\",[@\"This is my String\" characterAtIndex:0]];
BOOL isUpperCase = [firstChar isEqualToString:[firstChar uppercaseString]];
请注意,如果字符没有大写/小写变体(例如数字1、2等),则isUpperCase始终返回YES。
, 我不了解目标C,但是您可以使用正则表达式。如果它匹配[a-z],则为小写。如果匹配[A-Z],则为大写。