groovy: comment replaceAll ')' à ' '
J'ai essayé ceci:
def str1="good stuff 1)"
def str2 = str1.replaceAll('\)',' ')
mais j'ai eu l'erreur suivante:
Exception org.codehaus.groovy.de contrôle.MultipleCompilationErrorsException: démarrage a échoué, Script11.groovy: 3: inattendu char: '\' @ la ligne 3, colonne 29. 1 erreur sur org.codehaus.groovy.de contrôle.ErrorCollector(failIfErrors:296)
donc, la question est de savoir comment dois-je faire ceci:
str1.replaceAll('\)',' ')
Vous devez vous connecter pour publier un commentaire.
Même que dans Java:
Vous avez pour échapper à la barre oblique inverse (avec une autre barre oblique inverse).
Plus Groovy façon:
def str2 = str1.replaceAll(/\)/,' ')
Vous avez pour échapper à la
\
à l'intérieur de lareplaceAll
Les autres réponses sont correctes, pour cet exemple précis; toutefois, dans des cas réels, par exemple lors de l'analyse d'un résultat en l'utilisant
JsonSlurper
ouXmlSlurper
et puis le remplacement d'un caractère, l'Exception suivante se produit:Prenons l'exemple suivant,
Si l'on veut remplacer un caractère, par exemple
'('
dansresult
avec un' '
ainsi, l'exemple suivant renvoie le au-dessus deException
:Cela est dû au fait que la
replaceAll
méthode de Java ne fonctionne que pour lesstring
types. Pour que cela fonctionne,toString()
doit être ajouté à la suite d'une variable définie à l'aidedef
: