简单的问题,不知道是否能得到简单的答案。有没有一种方法可以对包含字母和数字的字符串列表进行排序,但同时考虑到数字?
例如,我的列表包含:
(1) ["Group 1", "Group2", "Group3", "Group10", "Group20", "Group30"]
字符串并不一定含有单词"组(group)",可能含有其他单词。
如果我对其进行排序,会显示如下:
(2)
Group 1
Group 10
Group 2
Group 20
Group 3
Group 30
有没有一种方法可以像(1)那样进行排序?
谢谢
[Group 1, 1, Grape 1, Group2, 2, Grape 2, Group3, Grape 12, Group20, Grape 22, Group30]
。你在这里看到什么顺序? - AA.s1 <=> s2 : n1 <=> n2
更简洁些。 - AA.if
来检查integer
是否存在。但这太多余了。非常好的回答,兄弟。 - AA.def grupos = ["Group 1", "Group2", "Group3", "2", "Group20", "Group30", "1", "Grape 1", "Grape 12", "Grape 2", "Grape 22"]
println grupos.sort{it.replaceAll("[^\\d]", "")!= ""? it.replaceAll("[^\\d]", "").toLong() : it};
- Johnny C.