考虑这个数组:
let files = ["file2.tif", "file33.jpg", "file11.jpg"]
我想对这个数组进行排序,结果将是
sortedFiles = ["file2.tif", "file11.jpg", "file33.jpg"]
这里有两个问题,我不知道如何处理:
1)排序时如何忽略文件扩展名
2)如何确保" file2"放在" file11"
之前非常感谢您的见解
答案 0 :(得分:2)
选项是将字符串转换为NSString
并使用基础方法deletingPathExtension
和compare:options:.numeric
let files = ["file2.tif", "file33.jpg", "file11.jpg"]
let sortedFiles = files.sorted(by: {
return ($0 as NSString).deletingPathExtension.compare(($1 as NSString).deletingPathExtension, options: .numeric) == .orderedAscending
})