首页 > 解决方案 > Groovy replaceAll 替换多个半匹配字符串

问题描述

处理用户提供文件(yaml/json/txt)的脚本,该文件具有一些要替换的字符串格式。这些字符串格式可以出现在任何索引处。

我面临的问题是 replaceAll 正在替换多个半匹配的字符串。例子:

def secretfile = "This is first secret.adminlogin and then comes secret.adminloginpassword";
println(secretfile.replaceAll("secret.adminlogin", "root"));

这导致 "This is first root and then come rootpassword" 。预期结果是“这是第一个 root,然后是 secret.adminloginpassword”

我们如何使 groovy replaceAll 只查找字符串的完全匹配。

PS,我不能使用拆分 + 替换 + 连接,因为文件可以是 yaml/json,它可能会破坏它的 linting。

标签: groovyreplaceall

解决方案


推荐阅读