我有一个如下所示的列表:
C:\basedir\2011_April\data_20110407.csv
...
C:\basedir\2011_January\data_20110101.csv
第二个文件在列表中稍后出现,因为“January”在“April”之后。我需要这个列表,而不是按文件日期排序,即data_20110101.csv文件应该在data_20110407.csv文件之前(保留整个目录路径)。有人能给我一个可以对这样的子字段进行排序的例子吗?
答案 0 :(得分:4)
您可以在列表中使用sort方法并传递一个闭包,该闭包从每个字符串中提取日期作为排序条件:
fileList.sort {
def matcher = it =~ /(\d{8})\.csv/
matcher[0][1]
}