我想知道为什么我使用这个代码没有得到预期的结果:
输出结果为:
String t = "1302248663033 <script language='javascript'>nvieor\ngnroeignrieogi</script>";
t.replaceAll("\n", "");
System.out.println(t);
输出结果为:
1302248663033 <script language='javascript'>nvieor
gnroeignrieogi</script>
我想知道为什么 \n
还在那里。有人知道吗?\n 有特殊的作用吗?
编辑:
我在正则表达式中使用 . 匹配换行符时遇到了问题,没有意识到以前需要使用 DOTALL 选项,所以我会在这里添加未来参考所需的内容:
String text = null;
text = FileUtils.readFileToString(inFile);
Pattern p = Pattern.compile("<script language='javascript'>.+?</script>\n", Pattern.DOTALL);
text = p.matcher(text).replaceAll("");
out.write(text);
System.getProperty("line.separator")
代替换行符。 - eee