为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

凤凰求蛊 2021-10-27 09:58:33
假设我有这个示例字符串: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



查看完整回答
反对 回复 2021-10-27
?
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 += ",";

    }

}


查看完整回答
反对 回复 2021-10-27
  • 2 回答
  • 0 关注
  • 229 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信