我想知道爲什麼我沒有得到這一個期望的結果: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