Java 使用replaceAll()替换字符串中出现的所有字符

Java 使用replaceAll()替换字符串中出现的所有字符,java,regex,string,jenkins,replaceall,Java,Regex,String,Jenkins,Replaceall,假设我有一个示例字符串: String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove"; 作为替换过程的结果,我想得到这个字符串: String textreplaced = "**/src/pt/data,**/src/pt/groove"; 基本上,我想用**/替换/src之前出现的所有字符。这可能很棘手,我曾尝试捕获逗号和/src文本之间的组,但它没有像我所期望的那样工作 我使用的是repla

假设我有一个示例字符串:

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)

有人知道我怎样才能得到它吗?

使用:

使用:


如果有人想要,这里有一个非正则表达式的替代答案:

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 += ",";
    }
}
字符串textreplaced=”“;
String[]split=text.split(“,”);
对于(int i=0;i
如果有人需要,这里有一个非正则表达式的替代答案:

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 += ",";
    }
}
字符串textreplaced=”“;
String[]split=text.split(“,”);
对于(int i=0;i
如果我想获得
***/pt/data,***/pt/groove
而不是
***/src/pt/data,***/src/pt/groove
,该怎么办@sun@BrunoFernandes
text.replaceAll(([\\w/]+)(?=/pt)”,“***”
我相信我通过积极的回顾解决了这个问题:
text.replaceAll([\\w/]+)(?如果我想得到
***/pt/data,***/pt/groove
而不是
***/src/pt/data,***/src/pt/groove
@sun@BrunoFernandes
text.replaceAll(([\\w/]+)(?=/pt)”,“**“
我相信我通过积极的后顾解决了这个问题:
text.replaceAll([\\w/]+)(?”?