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
中的相同
我正在尝试从 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
中的相同