我正在尝试找出计算NSString中大写字符数的最佳方法。我知道如何通过使用此代码来确定某个字符是否为大写:
NSString *s = @"This is a string";
BOOL isUppercase = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[s characterAtIndex:0]];
计算NSString中大写字母数的最佳方法是什么?感谢。
答案 0 :(得分:8)
NSString *s = @"This is a string";
int count=0;
for (i = 0; i < [s length]; i++) {
BOOL isUppercase = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[s characterAtIndex:i]];
if (isUppercase == YES)
count++;
}
count
是大写出现次数。
答案 1 :(得分:2)
逐个遍历字符串中的索引,并在找到大写字母时将1
添加到计数器。
答案 2 :(得分:1)
一线解决方案
NSUInteger count = [[[@"A string HERE!!" componentsSeparatedByCharactersInSet:[[NSCharacterSet uppercaseLetterCharacterSet] invertedSet]] componentsJoinedByString:@""] length]; // count = 5