groovy:如何用''替换所有')''

joh*_*ohn 27 groovy replaceall

我试过这个:

def str1="good stuff 1)"
def str2 = str1.replaceAll('\)',' ')
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

异常org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败,Script11.groovy:3:意外字符:'\'@第3行,第29列.1错误org.codehaus.groovy.control.ErrorCollector(failIfErrors:296)

所以问题是我该怎么做:

str1.replaceAll('\)',' ')
Run Code Online (Sandbox Code Playgroud)

Tom*_*vic 36

与Java相同:

def str2 = str1.replaceAll('\\)',' ')
Run Code Online (Sandbox Code Playgroud)

你必须逃避反斜杠(用另一个反斜杠).


Joh*_*ham 25

一种更Groovy的方式: def str2 = str1.replaceAll(/\)/,' ')


cch*_*son 5

你必须逃离\里面replaceAll

def str2 = str1.replaceAll('\\)',' ')
Run Code Online (Sandbox Code Playgroud)