Java 正则表达式
现在我有一个字符串,我想删除\n并将\u转换为\\u 如果字符串包含\\u,我不会将其更改为\\\u 我想使用String.replaceAll(),但我不知道如何编写正则表达式 请帮帮我。谢谢 例如: \u=>\\uJava 正则表达式,java,regex,Java,Regex,现在我有一个字符串,我想删除\n并将\u转换为\\u 如果字符串包含\\u,我不会将其更改为\\\u 我想使用String.replaceAll(),但我不知道如何编写正则表达式 请帮帮我。谢谢 例如: \u=>\\u \\u=>\\u(什么都不做)这里有一个使用反向查找的解决方案。(仅当前面没有\时,才将\u更改为\\u) \n已删除 第一个\u更改为\\u,但\\u保留原样 当您说将\u更改为\\u时,您的意思是给定“\\u”您想要“\\\\u”?(举几个例子会很有用!:-)@aioobe
\\u=>\\u(什么都不做)这里有一个使用反向查找的解决方案。(仅当前面没有
\
时,才将\u
更改为\\u
)
已删除\n
- 第一个
更改为\u
,但\\u
保留原样\\u
\u
更改为\\u
时,您的意思是给定“\\u”
您想要“\\\\u”
?(举几个例子会很有用!:-)@aioobe谢谢你的建议:)你能解释一下这么多逃跑的必要性吗?不应该\\足够转义\(我不是特别熟悉Java)Java字符串文本中的反斜杠需要转义,因此“\\”
表示字符串\。正则表达式也特别处理\因此您有另一个级别的转义。
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