我正在搜索一个预定义的函数,用于从包含文件名的路径中获取路径。因此,我想要的不是文件名,而是其他部分。
当然我可以像我自己那样做:
func PathOnly() -> String {
let n = NSURL(fileURLWithPath: self).lastPathComponent?.characters.count
return self.Left(self.characters.count - n!)
}
扩展了String,为什么要重新造轮子? :-) 有什么想法吗?
最佳答案
NSString
方法 stringByDeletingLastPathComponent
和 NSURL
方法
URLByDeletingLastPathComponent
做你想做的。
例子:
let path = "/foo/bar/file.text"
let dir = (path as NSString).stringByDeletingLastPathComponent
print(dir)
// Output: /foo/bar
let url = NSURL(fileURLWithPath: "/foo/bar/file.text")
let dirUrl = url.URLByDeletingLastPathComponent!
print(dirUrl.path!)
// Output: /foo/bar
Swift 3 更新:
let url = URL(fileURLWithPath: "/foo/bar/file.text")
let dirUrl = url.deletingLastPathComponent()
print(dirUrl.path)
// Output: /foo/bar
关于SWIFT:仅获取路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34716306/