741
社区成员
发帖
与我相关
我的任务
分享
-(NSString*)delBracket:(NSMutableString*)str{
NSMutableArray *lbrcIndex = [[NSMutableArray alloc] initWithCapacity:20];
int l = [str length];
for(int i = 0; i< l;i++)//删除空格
{
if ([[str substringWithRange:NSMakeRange(i,1)] isEqualToString:@" "]) {
[str replaceCharactersInRange:NSMakeRange(i,1) withString:@""];
l--;
i--;
}
}
for(int i=0;i<l;i++)
{
//NSString *sTmp ;
NSNumber *num = [[NSNumber alloc] initWithInt:i];
NSString *c = [str substringWithRange:NSMakeRange(i,1)];
if ([c isEqual:@"("]) {
[lbrcIndex addObject:num];
}else if ([c isEqual:@")"]) {
if (![lbrcIndex lastObject]) {
//s1 删掉这个不匹配的 )
[str replaceCharactersInRange:NSMakeRange(i,1) withString:@" "];
}
int lastIndex = [[lbrcIndex lastObject] intValue];
//如果其中不包含运算符,也删除
BOOL isNeed = NO;
for(int i1 = lastIndex+1;i1<i;i1++)
{
if (!([str characterAtIndex:i1] > [@"0" characterAtIndex:0] && [str characterAtIndex:i1] < [@"9" characterAtIndex:0])) {
if (![[str substringWithRange:NSMakeRange(i1,1)] isEqualToString:@" "]) {
isNeed = YES;
break;
}
}
}
if (!isNeed) {
[str replaceCharactersInRange:NSMakeRange(i,1) withString:@" "];
[str replaceCharactersInRange:NSMakeRange(lastIndex,1) withString:@" "];
[lbrcIndex removeLastObject];
continue;
}
[lbrcIndex removeLastObject];
int j = 1;
while (lastIndex-j >= 0) {
if (i+j > [str length]-1) {
break;
}
if ([[str substringWithRange:NSMakeRange(lastIndex - j,1)] isEqualToString:@"("] && [[str substringWithRange:NSMakeRange(i+j,1)] isEqualToString:@")"]) {
//s1 替换为空格
[lbrcIndex removeLastObject];
[str replaceCharactersInRange:NSMakeRange(i+j,1) withString:@" "];
[str replaceCharactersInRange:NSMakeRange(lastIndex - j,1) withString:@" "];
}else {
break;
}
j++;
}
}
}
while ([lbrcIndex count]>0) {//删除多余的(
int lastIndex = [[lbrcIndex lastObject] intValue];
[str replaceCharactersInRange:NSMakeRange(lastIndex,1) withString:@""];
[lbrcIndex removeLastObject];
}
l=[str length];
for(int i = 0; i<l;i++)//删除空格
{
if ([[str substringWithRange:NSMakeRange(i,1)] isEqualToString:@" "]) {
[str replaceCharactersInRange:NSMakeRange(i,1) withString:@""];
i--;
l--;
}
}
return str;
}
好了,我把人家谁的那个代码抄袭了一下⋯⋯
就是有点啰嗦⋯⋯