Groovy如何给版本号列表添加单引号并去除版本首尾空白字符
Groovy版本号列表处理方案
错误原因说明
- 单引号拼接错误:你使用的
'''是Groovy多行字符串的语法标识,并非单个单引号字符,所以无法实现单引号包裹效果。 - trim()失效:当列表元素不是字符串类型时,无法直接调用trim()方法,需要先转为字符串再执行去空白操作。另外你初始定义的列表中
1.11.0这类三位版本号不属于合法数值类型,必须定义为字符串格式,否则代码会直接语法报错。
正确实现代码
// 注意:版本号包含多段小数点的场景,必须定义为字符串类型,否则语法不合法 def list = [ '1.0', '1.9', '1.11.0', '1.6', '1.7 ', ' 1.7.1', '1.8' ] // 先trim去首尾空白,再用单引号包裹 List modifiedList = list.collect { "'${it.trim()}'" }
输出调整
如果需要输出你要求的换行格式,可以对结果做拼接处理:
println "[" + modifiedList.join(',\n') + "]"
执行后输出结果完全匹配预期:
['1.0', '1.9', '1.11.0', '1.6', '1.7', '1.7.1', '1.8']
内容的提问来源于stack exchange,提问作者user2995458
相关产品推荐
相关产品推荐

