我将一些文本加载到 NSString 对象中,其中包含方括号中的注释 - 我需要删除方括号及其中的所有内容,以便用户只看到正文。
但是,由于 Objective-C 依赖方括号进行消息传递等...,我在删除它们时遇到了一些问题。
使用方括号是否有一些特殊的转义字符(例如作为“rangeOfString:”的参数)? Xcode 反复告诉我没有。
干杯
最佳答案
您可以使用正则表达式删除所需的子字符串:
NSString *s = @"hi[bla]tototo[lalA123]a";
NSString *result = [s stringByReplacingOccurrencesOfString:@"\\[[\\w]+\\]"
withString:@""
options:NSRegularExpressionSearch|NSCaseInsensitiveSearch
range:NSMakeRange(0, [s length])];
NSLog(@"%@", result);
// output "hitototoa"
附注如果您的注释可能包含与“\w”说明符不匹配的字符,您可能需要调整正则表达式模式
关于ios - 在 NSString 中搜索方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973886/