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