0
我寫一些代碼從一個字符串中刪除括號及其內容,但此行無法正常工作:Java的正則表達式引擎是否被破壞?
line.replaceAll("\\Q"+matchp+"\\E", rep);
這應該替換所有找到的小組,說:「(組)多個單詞」和正則表達式匹配的「(組)」,那麼該字符串將成爲代表+「更多的話」。但字符串不受影響。報價被打破?
我寫一些代碼從一個字符串中刪除括號及其內容,但此行無法正常工作:Java的正則表達式引擎是否被破壞?
line.replaceAll("\\Q"+matchp+"\\E", rep);
這應該替換所有找到的小組,說:「(組)多個單詞」和正則表達式匹配的「(組)」,那麼該字符串將成爲代表+「更多的話」。但字符串不受影響。報價被打破?
replaceAll
不就地做到這一點,像這樣:
line = line.replaceAll("\\Q"+matchp+"\\E", rep);
我剛剛意識到這一點。我有點累,忘記了不可變的字符串。 – 2013-02-19 14:59:17
我敢打賭,你沒有價值重新分配給'line'。 – 2013-02-19 14:54:07
現在是閱讀關於字符串和Java的不變性的時間.... – 2013-02-19 14:57:13
除非你不犯任何愚蠢的錯誤java的'正則表達式'引擎很弱.. – Anirudha 2013-02-19 15:03:23