2010-11-30 83 views
76

我想要替換字符串中的子字符串的所有實例,但String.replaceAll()只接受一個模式。我從前一場比賽中得到的字符串。是否有可能向我所擁有的模式添加轉義符,或者在另一個接受文本字符串而不是模式的類中存在replaceAll()版本?String.replaceAll沒有正則表達式

+0

可能的[String.replaceAll的反斜槓問題]的副本(http://stackoverflow.com/questions/1701839/backslash-problem-with-string-replaceall) – McDowell 2011-05-26 08:40:50

回答

78

添加轉義符的方法是Pattern.quote()

String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr) 

但是,正如Jon說的那樣,您可以使用replace()。儘管它偏離replaceAll的名稱,但它確實代替所有事件,就像replaceAll()一樣。

+0

如果在您的matchingStr中有一個「$」例。 – 2015-07-16 09:29:10