Groovy 通过忽略“$”或任何字符来解析字符串(ps:无法控制输入数据)

Groovy string parsing by ignoring "$" or any character(ps: no control over input data)

我正在尝试从 Groovy 中具有 $\n 等字符的字符串中将特定单词 say password 替换为 ******* .

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

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

给出:

illegal string body character after dollar sign; solution: either escape a literal dollar sign "$5" or bracket the value expression "" @ line 2, column 8. afdmas$

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

预计o/p:

hello how  
you$
**
doing

不清楚为什么您无法访问输入数据,因为您在示例中使用了字符串文字,并且您得到的错误也来自此示例。在这种情况下,您可以使用 Groovy single-quoted strings but they are without interpolation. Or if interpolation is necessary then you can use slashy or dollar slashy 不需要反斜杠转义的字符串:

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

*格式与 OP

中的相同