swift - 如何删除 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 中是否有一些东西可以帮助更多地解决这个问题或更好的方法?任何帮助是极大的赞赏!
解决方案
如果您需要用于记录的字符串,您可以使用正则表达式来选择和替换用户信息
let hidden = url.path.replacingOccurrences(of: #"/Users/\w*/"#, with: "", options: .regularExpression)
这给了Library/...但你当然可以用 /***/ 或其他东西替换
或者使用一些数组功能
let removed = url.path.split(separator: "/")[2...].joined(separator: "/")
推荐阅读
- performance - Jmeter:报告中的自定义标题具有采样器名称而不是默认文本
- java - 如何在控制器中传递非空值@RequestParameter?
- substrate - 底层区块链节点模板中的当前和最终区块是什么?
- reporting-services - SSRS 中的开始日期范围参数
- powershell - 如何在 azure devops 中使用 api 克隆经典构建管道
- c# - 为什么我不能将数据库中的所有表都读入我的 DataSet?
- java - maven打包后非java资源从类包中消失
- c# - 如何使用 exe 运行 mvc 项目?
- reactjs - Material-UI 警告:validateDOMNesting(...):
不能作为后代出现
- javascript - 如何在我的 HTML 文件中导入 React 组件?