本文介绍了Groovy:如何按最后一位对文本+数字的字符串数组进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的数组:
def arr = [
"v3.1.20161004.0",
"v3.1.20161004.1",
"v3.1.20161004.10",
"v3.1.20161004.11",
"v3.1.20161004.2",
"v3.1.20161004.3",
"v3.1.20161004.30",
]
我需要得到这个:
def arr = [
"v3.1.20161004.0",
"v3.1.20161004.1",
"v3.1.20161004.2",
"v3.1.20161004.3",
"v3.1.20161004.10",
"v3.1.20161004.11",
"v3.1.20161004.30",
]
如何按最后一个数字'.x'排序?
How to sort it by last number '.x' ?
推荐答案
您可以将.
上的每个字符串标记化,然后将最后一个元素作为Integer进行排序,并对此进行排序(传递false
以返回新列表) )
You can tokenize each string on .
and then grab the last element as an Integer, and sort on this (passing false
to return a new list)
def newArray = arr.sort(false) { it.tokenize('.')[-1] as Integer }
这篇关于Groovy:如何按最后一位对文本+数字的字符串数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!