如何在Groovy中替换字符串

75

我有一些字符串,例如

C:\dev\deploy_test.log

我希望通过Groovy将字符串转换为

C:/dev/deploy_test.log

我尝试使用指令来执行它

Change_1 = Log_file_1.replaceAll('\','/');
它不会转换这个字符串
2个回答

151
你需要转义反斜杠\

你需要转义反斜杠\

println yourString.replace("\\", "/")

1
我正在使用像这样的代码:uname1 = uname.replace('@','%40'),但在Jenkins管道中出现错误。groovy.lang.MissingMethodException: 没有适用于参数类型的hudson.util.Secret.replace()方法签名:(java.lang.String, java.lang.String)你能帮忙吗? - Surya
1
@SuryaN 看起来你正在尝试在凭据值上调用此方法。Pipeline将凭据转换为hudson.util.Secret类,该类没有此方法。 你可以通过在其上调用getPlainText()方法从Secret中获取String对象。 - MaroonedMind

3

你还可以使用Groovy的斜杠字符串,这有助于减少Java转义字符\要求带来的混乱。在这种情况下,你可以使用:

Change_1 = Log_file_1.replaceAll(/\/,'/');

斜杠字符串也支持插值,并且可以是多行的。它们是增加你专业知识的好工具。

参考资料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接