现在我有一个String,我想删除\ n并将\ u转换为\\ u。
如果字符串包含\\ u,我不会将其更改为\\\ u。
我想使用String.replaceAll(),但我不知道如何编写正则表达式。
请帮帮我。感谢。
示例:
\ u => \\û
\\ u => \\ u(什么都不做)
答案 0 :(得分:4)
这是使用负面后视的解决方案。 (仅当{em>不以\u
开头时,才将\\u
更改为\
。)
String in = "lorem ipsum \\u dolor \\\\u sit \n amet";
System.out.println(in);
System.out.println(in.replaceAll("\\n", "")
.replaceAll("(?<!\\\\)\\\\u", "\\\\\\\\u"));
<强>打印强>
lorem ipsum \u dolor \\u sit
amet
lorem ipsum \\u dolor \\u sit amet
\n
已移除\u
更改为\\u
,但\\u
保留原样。