更换。带有/ in groovy

时间:2019-05-16 11:46:34

标签: groovy

我知道这是一个非常具体的问题,因为我自己没有设法进行替换,因此我需要用Groovy替换此字符串:

com.pantest com / pantest 中。

我尝试过:

groupId =com.pantest
def mavenGroupID = groupId.replaceAll('.','/')

这就是我在输出中得到的:

echo mavenGroupID is //////////
mavenGroupID is //////////

点(。)是某种特殊字符吗?我尝试使用****对其进行转义,但也无法正常工作。

1 个答案:

答案 0 :(得分:1)

如评论中所述,String.replaceAll将正则表达式作为输入,因此这意味着您至少需要转义点,但实际上,还必须转义转义的反斜杠\ (有关Regular Expression to match a dot的更多线索)

因此,您可以按照以下步骤进行操作:

def test = "aaa.bbb.ccc"
//want to replace ., need to use escape char \, but it needs to be escaped as well , so \\
println test.replaceAll('\\.','/')

输出是根据请求aaa/bbb/ccc

  

replaceAll('\\.','/')是关键