一个正则表达式

时间:2012-03-02 09:30:31

标签: java regex

现在我有一个String,我想删除\ n并将\ u转换为\\ u。

如果字符串包含\\ u,我不会将其更改为\\\ u。

我想使用String.replaceAll(),但我不知道如何编写正则表达式。

请帮帮我。感谢。

示例:

\ u => \\û

\\ u => \\ u(什么都不做)

1 个答案:

答案 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保留原样。