Как определить, является ли символ прописным или строчным? - PullRequest
8 голосов
/ 15 июня 2011

Допустим, я извлекаю один символ из строки NSS следующим образом:

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

Как мне узнать, является ли полученный мной символ строчными или прописными буквами?любой совет!

Ответы [ 4 ]

34 голосов
/ 15 июня 2011
BOOL isUppercase = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[s characterAtIndex:0]];
5 голосов
/ 15 июня 2011
unichar ch = [@"This is my String" characterAtIndex:0];

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

Обратите внимание, что это работает только для английского алфавита.

1 голос
/ 21 мая 2014
NSString *firstChar = [NSString stringWithFormat:@"%c", [@"This is my String" characterAtIndex:0]];

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

Обратите внимание: если символ не имеет прописных / строчных вариантов (например, цифр 1, 2 и т. Д.), IsUpperCase всегда возвращает YES.

0 голосов
/ 15 июня 2011

Я не знаю цель C, но вы можете использовать регулярное выражение. Если это соответствует [a-z], то это строчные буквы. Если он соответствует [A-Z], это верхний регистр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...