在iOS SDK(Swift)中。可以说我有三个文件“ mary'sCat.mp3”,“ mary \ s.mp3”,“ mary \\ s.mp3”(特殊字符\是真实文件名的一部分)当我使用以下代码获取网址时
FileManager.default.contentsOfDirectory(at: documentDir, includingPropertiesForKeys: nil)
并使用下面的代码获取文件名
fileUrl.standardizedFileURL.lastPathComponent
我将拥有“ mary \'sCat.mp3”,“ mary \\ s.mp3”,“ mary \\\\ s.mp3”所以..有什么办法可以以正确的方式删除系统附加特殊字符\?这样我就可以回到原始文件名“ mary'sCat.mp3”,“ mary \ s.mp3”,“ mary \\ s.mp3”?我注意到,当使用XCode输出窗口时,您不会看到插件的特殊字符,但是当您在调试监视器中实际看到它时,您会看到插件的特殊字符。如下比较String时,这就是噩梦
if mediaUrl_filename == "specialChar\\s.mp4"{
print("It is equal")
}
那么有什么办法解决这个问题?
实际上'\'用作String对象中的转义序列,因此在比较文件名时,如果文件名是'mary \ s.mp3',则必须这样写:
if mediaUrl_filename == "mary\\s.mp3"{
print("It is equal")
}
我建议您在文件名中用其他字符(如'_)替换'\',以免混淆。