如何使用 : by groovy 脚本分隔数字

how to seperate numbers using : by groovy script

考虑一个数字 12345678。

我需要使用 groovy 脚本输出 12:34:56:78。

我试过使用 .split()

这是执行您描述的操作的代码:

def number = "12345678"
def result = number.collect().collate(2).collect{it.join('')}.join(':')

数字定义为字符串 - 如果您的数字是数字,只需使用 .toString()

将其转换为字符串

number.collect()将字符串转成列表

.collate(2) 创建大小为 2

的子列表

.collect{it.join('')} 加入子列表的元素

.join(':') 加入所有带有 : 字符的子列表

也许它不是您所需要的,但它应该能为您提供一个良好的起点。 :-)

另一个使用正则表达式的解决方案。

t = "123456789"  // yes, i've extended to 9 to show what happens
(t =~ /(?<=(\G.{2}))/).collect{ it[1] }.join(":")
==> 12:34:56:78

正如在对您的问题的评论中指出的那样,您必须决定当字符数不是偶数时要做什么,正如您在我的示例中看到的那样,它会删除最后一个字符,因为它按双字符.