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

Groovy如何筛选出列表中以数字开头的元素?

Groovy筛选以数字开头的列表元素解决方案

首先你的原脚本存在基础问题:列表中的元素未用引号包裹,Groovy会将其识别为变量而非字符串,直接运行会报错。先修正格式问题,再通过findAll方法配合正则表达式筛选目标元素。

修改后的完整脚本

def successfulBuilds = [
    "QA-228-7443c745-Final_QA_Signed-Off",
    "227-7443c569-Final_QA_Signed-Off",
    "QA-226-5ca5659c-QA_Signed_Off",
    "225-137b4c34-QA_Signed_Off",
    "224-40d92670-QA_Signed_Off",
    "QA-223-c212132c-Fail_the_Jenkins_pipeline",
    "QA-222-20367839-Merge_branch__master__into_POC-Pipeline-Ownership-SRE",
    "221-20343339-Merge_branch__master__into_POC-Pipeline-Ownership-SRE"
]

def filteredBuilds = successfulBuilds.findAll { it ==~ /^\d.*/ }
println(filteredBuilds)

关键修改说明

  • 修正元素格式:给每个列表元素添加双引号,确保它们被识别为字符串类型。
  • 添加筛选逻辑:使用findAll遍历列表,通过正则表达式/^\d.*/匹配以数字开头的元素:
    • ^表示字符串起始位置
    • \d匹配任意数字
    • .*匹配后续任意长度的字符

运行脚本后,输出结果与你期望的一致:

[227-7443c569-Final_QA_Signed-Off, 225-137b4c34-QA_Signed_Off, 224-40d92670-QA_Signed_Off, 221-20343339-Merge_branch__master__into_POC-Pipeline-Ownership-SRE]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:03:15