You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Groovy如何将路径中stable_dev/后的片段替换为指定new_value?

路径替换正确实现方案

原正则问题说明

你原来拼接的正则匹配规则限制过多,仅能匹配符合「字母数字+非字母数字+字母数字」规则的中间段,无法适配所有可能的路径段格式,同时直接对ArrayList.toString()结果做全局替换可能存在误匹配风险,更建议遍历列表逐个处理路径。

正确实现方法

核心匹配逻辑

我们需要匹配stable_dev/后到下一个/之前的全部内容,用[^/]+即可匹配任意非斜杠字符组成的路径段,匹配规则通用且简洁:

  • 匹配正则:stable_dev/[^/]+/
  • 替换目标值:stable_dev/new_value/

代码实现

1. 直接处理ArrayList toString结果(适配你原有写法)

String result = arrayList.toString().replaceAll("stable_dev/[^/]+/", "stable_dev/new_value/");

2. 更安全的遍历列表逐个替换(推荐)

避免全局替换误修改列表分隔符等非路径内容:

import java.util.List;
import java.util.stream.Collectors;

// 遍历每个路径单独替换
List<String> processedList = arrayList.stream()
    .map(path -> path.replaceAll("stable_dev/[^/]+/", "stable_dev/new_value/"))
    .collect(Collectors.toList());

效果验证

  • 原路径:"stable_dev/201904_xx/text1/text2.zip" → 替换后:"stable_dev/new_value/text1/text2.zip"
  • 原路径:"stable_dev/201904/text5/text6.war" → 替换后:"stable_dev/new_value/text5/text6.war"

内容的提问来源于stack exchange,提问作者Tiberiu Corneanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:09:03