Groovy中如何给版本号列表的空缺分段补零?
Groovy版本号分段补零实现方案
首先要注意你示例中给出的列表定义如果直接写1.11.0会报语法错误,因为多小数点的内容不是合法数值类型,实际使用时建议把版本号统一存为字符串类型,以下是基于字符串列表的处理代码:
// 正确的版本号列表示例(元素为字符串类型) def versionList = ["1.0", "1.9", "1.11.0", "1.6", "1.7", "1.7.1", "1.8"] def result = versionList.collect { ver -> // 按小数点分割版本号 def segments = ver.split(/\./) // 不足3段的部分补0,超过3段的默认取前3段(可根据需求调整) (segments + ['0'] * 3).take(3).join('.') } // 按你需要的格式打印输出 println result.join(',\n')
执行后的输出和你期望的结果完全一致:
1.0.0, 1.9.0, 1.11.0, 1.6.0, 1.7.0, 1.7.1, 1.8.0
如果你的列表里确实存在数值类型的版本号(比如1.0、1.9是BigDecimal类型),只需要在分割前先调用toString()转为字符串即可,修改分割行代码为def segments = ver.toString().split(/\./)。
内容的提问来源于stack exchange,提问作者user2995458
相关产品推荐
相关产品推荐

