使用 replaceAll() 替换字符串中出现的所有字符
Use replaceAll() to replace all occurrences of characters in string
假设我有这个示例字符串:
String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove";
我想通过替换过程得到这个字符串:
String textreplaced = "**/src/pt/data,**/src/pt/groove";
基本上,我想要的是将 /src 之前出现的所有字符替换为 **/。这可能很棘手,我已经尝试捕获逗号和 /src 文本之间的组,但它没有像我预期的那样工作。
我正在使用 replaceAll() 方法(在 Jenkins 中)。
有谁知道我怎样才能得到它?
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
如果有人需要,这里有一个替代的非正则表达式答案:
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 += ",";
}
}
假设我有这个示例字符串:
String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove";
我想通过替换过程得到这个字符串:
String textreplaced = "**/src/pt/data,**/src/pt/groove";
基本上,我想要的是将 /src 之前出现的所有字符替换为 **/。这可能很棘手,我已经尝试捕获逗号和 /src 文本之间的组,但它没有像我预期的那样工作。
我正在使用 replaceAll() 方法(在 Jenkins 中)。
有谁知道我怎样才能得到它?
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
如果有人需要,这里有一个替代的非正则表达式答案:
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 += ",";
}
}