java 替换对于 \n 个字符都不起作用
2022-09-03 09:15:38
我有一个这样的字符串:现在我想用实际的新行字符替换\n,这样它就会变成John \n Barber
John
理发师
这是我的代码
replaceAll("\\n", "\n");
但它不起作用,给我相同的字符串John \n Barber
我有一个这样的字符串:现在我想用实际的新行字符替换\n,这样它就会变成John \n Barber
John
理发师
这是我的代码
replaceAll("\\n", "\n");
但它不起作用,给我相同的字符串John \n Barber
你需要做:
replaceAll("\\\\n", "\n");
该方法在其第一个参数中需要一个正则表达式。当在java字符串中传递2时,您实际上传递了一个。问题是,在正则表达式中也是一个转义字符,所以正则表达式实际上是,所以你需要多放两次。replaceAll
\
\
\n
\\n
\
由于正则表达式中的(甚至是原始的新行字符U + 000A)被解释为新行字符,因此您需要(转义)来指定斜杠,后跟 。\n
\\n
\
\
n
这是从正则表达式引擎的角度来看的。
从编译器的角度来看,在Java文字字符串中,您需要转义,因此我们添加了另一层转义:\
String output = inputString.replaceAll("\\\\n", "\n");
// \\n U+000A