假设我有这个示例字符串:String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove";我想通过替换过程得到这个字符串:String textreplaced = "**/src/pt/data,**/src/pt/groove";基本上,我想要的是用 **/ 替换 /src 之前出现的所有字符。这可能很棘手,我试图在逗号和 /src 文本之间捕获组,但它没有按我预期的那样工作。我使用的是 replaceAll() 方法(在 Jenkins 中)。有谁知道我怎么能得到它?
2 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
使用正向前瞻:
String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove";
System.out.println(text.replaceAll("([\\w/]+)(?=/src)", "**")); // **/src/pt/data,**/src/pt/groove
MM们
TA贡献1886条经验 获得超2个赞
这是一个替代的非基于正则表达式的答案,以防万一有人想要它:
String textreplaced = "";
String[] split = text.split(",");
for (int i = 0; i < split.length; i++) {
textreplaced += "**" + split[i].substring(split[i].indexOf("/src"));
if (i != split.length - 1) {
textreplaced += ",";
}
}
添加回答
举报
0/150
提交
取消