Swift 如何只解析文件的实际名称而不是完整路径?

Swift 如何只解析文件的实际名称而不是完整路径?,swift,parsing,swift3,Swift,Parsing,Swift3,我有一些代码(我认为)可以将文件名与其文件类型分开。例如,“filename.txt”->[“filename,”txt“] 但是,我没有意识到,当我使用对话框打开文件名时,我得到了完整路径(我知道是新手犯的错误)。例如,我的函数返回的是: filename\u数组:[“/home/user/Downloads/filename”,“txt”] 如何删除路径内容并只返回文件名部分?苹果一直在尝试摆脱所有“路径为字符串”的样式,并将其迁移到URL。路径操作API已从string中删除并移动到URL

我有一些代码(我认为)可以将文件名与其文件类型分开。例如,“filename.txt”->[“filename,”txt“]

但是,我没有意识到,当我使用对话框打开文件名时,我得到了完整路径(我知道是新手犯的错误)。例如,我的函数返回的是:

filename\u数组:[“/home/user/Downloads/filename”,“txt”]


如何删除路径内容并只返回
文件名
部分?

苹果一直在尝试摆脱所有“路径为字符串”的样式,并将其迁移到
URL
。路径操作API已从
string
中删除并移动到
URL

let path = "/home/user/Downloads/filename.txt"
let url = URL(fileURLWithPath: path)

let fileNameOnly  = url.deletingPathExtension().lastPathComponent   // filename
let fileExtention = url.pathExtension                               // txt
或者,您也可以使用
NSString
,以老式的方式进行操作:

let path = "/home/user/Downloads/filename.txt"
let fileName = (path as NSString).lastPathComponent as NSString // filename.txt

let fileNameOnly = fileName.deletingPathExtension // filename
let fileExtension = fileName.pathExtension        // txt

你的问题和一些相关的代码。请告诉我们推荐的方法是什么