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

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

String text = "Data/DataFrontEnd/src/pt/data,Data/DataBackEnd/src/pt/groove";

我想通过替换过程得到这个字符串:

String textreplaced =  "**/src/pt/data,**/src/pt/groove";

基本上,我想要的是用 **/ 替换 /src 之前出现的所有字符。这可能很棘手,我试图在逗号和 /src 文本之间捕获组,但它没有按我预期的那样工作。

我使用的是 replaceAll() 方法(在 Jenkins 中)。

有谁知道我怎么能得到它?


凤凰求蛊
浏览 234回答 2
2回答

qq_遁去的一_1

使用正向前瞻: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们

这是一个替代的非基于正则表达式的答案,以防万一有人想要它:String textreplaced = "";String[] split = text.split(",");for (int i = 0; i < split.length; i++) {&nbsp; &nbsp; textreplaced += "**" + split[i].substring(split[i].indexOf("/src"));&nbsp; &nbsp; if (i != split.length - 1) {&nbsp; &nbsp; &nbsp; &nbsp; textreplaced += ",";&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java