我编写了一些代码来计算字符串中的每个括号,
有没有更简单的方法?
NSCharacterSet *parenthesis = [NSCharacterSet characterSetWithCharactersInString:@"()"];
parenthesis = [parenthesis invertedSet];
NSArray *arr = [someString componentsSeparatedByCharactersInSet:parenthesis];
NSInteger count = 0;
for(int i=0;i<[arr count];i++) {
if([[arr objectAtIndex:i] isEqualToString:@")"])
count++;
}
NSLog(@"count is %d", count);
最佳答案
由于您仍然需要遍历字符串中的所有字符,所以为什么不简单
NSUInteger count = 0;
for (NSInteger i = someString.length - 1 ; i >= 0 ; i--) {
unichar ch = [someString characterAtIndex:i];
count += (ch == '(' || ch == ')');
}
这使用较少的类,更易于阅读,并且使用较少的CPU来执行计算。
关于iphone - 计算字符串中每次出现的括号,iOS SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14716757/