我想知道为什么我没有得到这一个期望的结果:Java新线更换
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是特别的吗?
编辑:
所以我遇到了匹配换行符与a的麻烦。在正则表达式的表达,却没有意识到一个用途使用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);
就是这样。我知道这一点。这是一个漫长的一天... – delmet 2011-04-14 03:35:29
要在操作系统之间移植,请使用'System.getProperty(“line.separator”)'代替换行符。 – eee 2011-04-14 04:40:46