Как определить, является ли символ прописным или строчным?
Допустим, я извлекаю один символ из строки NS следующим образом:
[@"This is my String" characterAtIndex:0]
Как узнать, является ли получаемый символ строчным или прописным?
Спасибо за любую помощь!
4 ответа:
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.