【问题标题】:Swift 3: sort array of filenames independent from extensionSwift 3:对独立于扩展名的文件名数组进行排序
【发布时间】:2016-11-12 14:06:12
【问题描述】:

考虑这个数组:

let files = ["file2.tif", "file33.jpg", "file11.jpg"]

我想对这个数组进行排序,结果是

sortedFiles = ["file2.tif", "file11.jpg", "file33.jpg"]

这里有两个问题我不知道怎么解决:

1) 排序时如何忽略文件扩展名

2)如何确保“file2”放在“file11”前面

非常感谢您的见解

【问题讨论】:

    标签: arrays string sorting swift3


    【解决方案1】:

    一种选择是将字符串转换为 NSString 并使用 Foundation 方法 deletingPathExtensioncompare: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
    })
    

    【讨论】:

    • 酷。我试试看
    猜你喜欢
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    • 2021-11-06
    相关资源
    最近更新 更多