我有一个大字符串,我有&以下模式中使用的字符 -
A&B
A & B
A& B
A &B
A&B
A & B
A& B
A &B
我想替换所有出现的& &
的字符
在替换此内容时,我还需要确保不会错误地将&
转换为&
。我如何以精通业绩的方式做到这一点?我使用正则表达式吗?如果是的话,请你帮我解决正确的正则表达式吗?
到目前为止,我一直试着追随没有快乐:
data = data.replace(" & ", "&"); // doesn't replace all &
data = data.replace("&", "&"); // replaces all &, so & becomes &
答案 0 :(得分:39)
您可以使用带有否定前瞻的正则表达式。
正则表达式字符串为&(?!amp;)
。
使用replaceAll
,您将获得:
A&B
A & B
A& B
A &B
A&B
A & B
A& B
A &B
因此单个字符串str
的代码为:
str.replaceAll("&(?!amp;)", "&");
答案 1 :(得分:4)
你可以尝试这个,它应该有效:
/.../.../../../../.../IMFCore.framework/IMFCore(WLHTTPClientResponse.o)
/.../../../../../.../WorklightSDK/libWorklightStaticLibProject.a(WLHTTPClientResponse.o)
ld: 153 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这样您首先将所有data = data.replaceAll("&","&").replaceAll("&","&");
替换为&
,以便您拥有&
,然后用&
替换所有&
。