需求是某个文件会保存在 Document 文件夹中,这个文件名得是根据用户输入的一串字符(userInput)再加上生成的当前日期(currentDate)组成的。
但是如果直接用 userInput 的话,比如说里面带有空格,保存之后还按照 userInput+currentDate 拼接打开的话就会报错。
我希望保存的文件名是用户可辨识的字符串,所以希望只替换部分特殊字符,不知有没有现成的合适的开源库可以自动把影响文件读取的特殊字符替换掉?
谢谢。
1
wym572 OP 好吧,自己解决了,参考 http://stackoverflow.com/questions/6102333/what-characters-are-allowed-in-a-ios-file-name
Swift3 下用: var invalidCharacters = CharacterSet(charactersIn: ":/") invalidCharacters.formUnion(CharacterSet.whitespacesAndNewlines) invalidCharacters.formUnion(CharacterSet.illegalCharacters) invalidCharacters.formUnion(CharacterSet.controlCharacters) let filename = userInput.components(separatedBy: invalidCharacters).joined(separator: "_") |
2
slixurd 2017-02-10 00:14:58 +08:00
这多麻烦,无脑 Base64 一下简单方便.....
|
3
kitalphaj 2017-02-10 07:38:23 +08:00
其实如果不考虑文件名的话完全可以名字是 UUID ,然后把用户输入的名字保存成文件自定义属性。
|
4
hythyt9898 2017-02-10 08:54:25 +08:00 via iPhone
正则替换下
|