使用list元素的一部分的groovy排序列表

时间:2011-11-14 06:40:30

标签: groovy

我有一个如下所示的列表:

C:\basedir\2011_April\data_20110407.csv
...
C:\basedir\2011_January\data_20110101.csv

第二个文件在列表中稍后出现,因为“January”在“April”之后。我需要这个列表,而不是按文件日期排序,即data_20110101.csv文件应该在data_20110407.csv文件之前(保留整个目录路径)。有人能给我一个可以对这样的子字段进行排序的例子吗?

1 个答案:

答案 0 :(得分:4)

您可以在列表中使用sort方法并传递一个闭包,该闭包从每个字符串中提取日期作为排序条件:

fileList.sort { 
  def matcher = it =~ /(\d{8})\.csv/
  matcher[0][1] 
}