首页 > 解决方案 > 如何删除 URL 的FirstPathComponent?

问题描述

有没有一种干净的方法来删除文件路径的开始路径组件?文件路径的开头通常具有敏感的目录名称,例如用户名:file:///Users/johndoe/Library/Developer/CoreSimulator/Device/F2CD5625-EE71/etc/Application/data.dat

我想编辑开始的路径并最终得到如下内容:***/Library/Developer/CoreSimulator/Device/F2CD5625-EE71/etc/Application/data.dat

当我开始实施时,它开始变得非常混乱,并希望其中有一些接近原生的东西。这就是我要开始的:

extension URL {

    func deletingFirstPathComponent(_ items: Int = 1) -> URL {
        pathComponents.dropFirst(items) // construct back to URL?
    }
}

Swift 中是否有一些东西可以帮助更多地解决这个问题或更好的方法?任何帮助是极大的赞赏!

标签: swift

解决方案


如果您需要用于记录的字符串,您可以使用正则表达式来选择和替换用户信息

let hidden = url.path.replacingOccurrences(of: #"/Users/\w*/"#, with: "", options: .regularExpression)

这给了Library/...但你当然可以用 /***/ 或其他东西替换

或者使用一些数组功能

let removed = url.path.split(separator: "/")[2...].joined(separator: "/")

推荐阅读