Java String.replaceAll()和\n换行符
我试着用一个小例子来解释我的问题。 我实现了版本1和版本2,但没有得到预期的结果。我必须使用哪个替换参数才能使用该方法获得所需的结果 第1版:Java String.replaceAll()和\n换行符,java,string,replaceall,Java,String,Replaceall,我试着用一个小例子来解释我的问题。 我实现了版本1和版本2,但没有得到预期的结果。我必须使用哪个替换参数才能使用该方法获得所需的结果 第1版: String s = "TEST"; s = s.replaceAll("TEST", "TEST\nTEST"); System.out.println(s); 输出: TEST\nTEST 试验 试验 第2版: String s = "TEST"; s = s.rep
String s = "TEST";
s = s.replaceAll("TEST", "TEST\nTEST");
System.out.println(s);
输出:
TEST\nTEST
试验
试验
第2版:
String s = "TEST";
s = s.replaceAll("TEST", "TEST\\nTEST");
System.out.println(s);
输出:
TEST\nTEST
测验
期望输出:
测试\n测试
从:
请注意,替换中的反斜杠\和美元符号$
字符串可能会导致结果与正在使用的结果不同
视为文字替换字符串;看见使用
打压
如果需要,这些字符的含义
s=s.replaceAllTEST,Matcher.quoterReplacementTest\\n测试;
您仍然需要2个反斜杠,因为\是字符串文本的元字符
您也可以在不使用Matcher.quoteReplacement的情况下使用4个反斜杠:
您希望在输出中有一个\吗
您需要使用\对其进行转义,因为\是替换字符串的元字符:\\
您需要使用\来转义这两个字符,因为\是字符串文本的元字符:\\\\
s=s.replaceAllTEST,TEST\\\\n测试;
不要全部使用替换
replaceAll执行正则表达式搜索和替换,但您的任务不需要正则表达式-只需使用纯文本版本替换,也会替换所有出现的情况
您需要一个文本反斜杠,它在Java字符串文本中编码为两个反斜杠:
String s = "TEST";
s = s.replace("TEST", "TEST\\nTEST");
System.out.println(s);
输出:
TEST\nTEST