我需要根据我在字符串中获取的文件名来确定文件的文件类型。所以我决定获取字符串的最后三个字符来决定它是什么文件类型。如何获取String中的最后三个字符。例如
var fileName = "test.pdf"
我需要单独使用 pdf 。 还有其他更好的方法来检查除此之外的文件类型。也请建议我。因为我认为,我能够识别文件类型是否包含四个字符,如" jpeg" 和其他内容。提前谢谢。
答案 0 :(得分:10)
我认为你在寻找:
字符串的路径扩展名(如果有)被解释为路径。 (只读) 声明
夫特
var pathExtension: String { get }
讨论
路径扩展是最后一个路径组件的一部分(如果有的话)。扩展分隔符不包括在内。下表说明了pathExtension
对各种不同路径的影响:
接收者的字符串值
返回字符串
“/ tmp / scratch.tiff”“tiff”
示例:
file.pathExtension
答案 1 :(得分:6)
let filename: String = "test.pdf"
let pathExtention = filename.pathExtension
答案 2 :(得分:5)
自Swift 2.x起,pathExtension
类不再使用String
。
您可以转而投放到NSString
并执行:
let filename = "test.pdf"
let extension = (filename as NSString).pathExtension
答案 3 :(得分:0)
下载This File from DropBox 添加到您的项目中并像这样使用
if let fileURL = URL(string: newURL){
let fileUTI = UTI(withExtension: fileURL.pathExtension)
switch fileUTI {
case .pdf:
print("add PDF Options")
self.selecteFileMemeTyp = fileUTI.mimeType!
self.addAllPDFOptions()
case .jpeg:
print("add jpg Options")
case .png:
print("add png Options")
case .tiff:
print("add tiff Options")
case .gif:
print("add gif options")
case .spreadsheet:
print("add excel Options")
case .html:
print("add html options")
case .zipArchive:
print("add zip Options")
break
case .docx , .doc:
print("add dox options")
default:
print("default")
} }