我正在使用此函数删除括号及其内部:
+(NSString*)removeCharsBetweenBrackets:(NSString*)str {
NSRange range = [str rangeOfString:@"("];
if (range.location != NSNotFound) {
NSRange range2 = [str rangeOfString:@")"];
if (range2.location != NSNotFound) {
NSString *str1 = [str substringToIndex:range.location];
NSString *str2 = [str substringFromIndex:range2.location + 1];
str = [NSString stringWithFormat:@"%@ %@",str1,str2];
}
}
range = [str rangeOfString:@"["];
if (range.location != NSNotFound) {
NSRange range2 = [str rangeOfString:@"]"];
if (range2.location != NSNotFound) {
NSString *str1 = [str substringToIndex:range.location];
NSString *str2 = [str substringFromIndex:range2.location + 1];
str = [NSString stringWithFormat:@"%@ %@",str1,str2];
}
}
return str;
}
我调用了两次删除了两次,它完美地删除了它。
问题是当我有这样的字符串时:
Mystring(blablabla)(*).mp3
* - Is a number. can be 0-999
我只想删除 (*)。
我如何实现它?
编辑:
字符串可以是:
mystring(bla bla)(1).mp3
mystring(bla bla)(1123).mp3
mystring(99).mp3
mystring(9).mp3
mystring.mp3
mystring(bla bla).mp3
如果 (number)
存在,我需要删除它。
最佳答案
NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:@"\\([0-9]{1,3}\\)" options:0 error:NULL];
NSString *result = [regexp stringByReplacingMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
withTemplate:@""];
关于ios - NSString 去掉括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20094427/