假设我有以下示例字符串:
String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove";
并且我想通过替换过程得到这个字符串:
String textreplaced = "**/src/pt/data,**/src/pt/groove";
基本上,我想用** /替换所有出现在/ src之前的字符。这可能很棘手,我已经尝试在逗号和/ src文本之间捕获组,但是它没有按我预期的那样工作。
我正在使用replaceAll()方法(wihtin Jenkins)。
有人知道我如何获得它吗?
答案 0 :(得分:2)
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
答案 1 :(得分:0)
如果有人想要的话,这是另一种基于非正则表达式的答案:
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 += ",";
}
}