假设我有字符串:
@"(Mg(Ni+(N(O2)3";
我想知道是否有可能替换字符串“(”的出现次数,但“+(”除外。因此结果;
@"+Mg+Ni+(N+O2)3";
我将如何做到这一点?
答案 0 :(得分:8)
您可以使用regular expressions执行此类更复杂的字符串替换。
您可以使用negative lookbehind编写表达式,以找到前面没有 a (
的{{1}}(尽管在这种情况下有更简单的替代方案) ,见@ sch的评论)。
示例:
+
答案 1 :(得分:2)
了解正则表达式here
的类似问题您还可以执行以下操作作为没有regexp的quickfix(适用于您的示例中的简单格式化字符串):
+(
替换为[
(
替换为+
[
替换为+)
我认为[
不是字符串语法的一部分。 (如果是使用不使用的那个)
答案 2 :(得分:0)
有NSRegularExpressionClass
提供以下方法:
-(NSString *)stringByReplacingMatchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange)range withTemplate:(NSString *)template
这可能是你想要的。