-1

我正在尝试从一个字符串中替换一个特定的单词 say passwordto ,该字符串在 Groovy*******中具有诸如$和之类的字符。\n

我无法通过使用来逃避它们,\因为我无法控制我收到的数据,甚至在我需要的最终输出中,就像之前使用$.

我试过了str.replaceAll("password","**")

给出:

美元符号后的非法字符串主体字符;解决方案:要么转义文字美元符号 "\$5",要么将值表达式 "${5}" @ 第 2 行第 8 列括起来。 afdmas$

def str="""hello how  
you$
password
doing"""

预期 o/p :

hello how  
you$
**
doing
4

1 回答 1

1

目前尚不清楚为什么您无权访问输入数据,因为您在示例中使用字符串文字,并且您得到的错误也来自此示例。在这种情况下,您可以使用 Groovy单引号字符串,但它们没有插值。或者如果需要插值,那么您可以使用斜杠美元斜杠字符串,它们也不需要反斜杠转义:

def str='''"hello how
you$ password doing'''
def str=/"hello how
you$ password doing/
def str=$/"hello how
you$ password doing/$

*格式与OP相同

于 2019-05-13T20:12:24.580 回答