我的网页中有一个上传器,但是有些人上传了名为“compañia15%* 09.jpg”的文件,当文件名像那个文件时,我遇到了问题。
我想找到一个返回该示例的类,如下所示:“ compania1509.jpg”。
换句话说,您想摆脱可打印ASCII范围之外的所有字符吗?您可以为此使用String#replaceAll()模式[^\x20-\x7e]。
ASCII
String#replaceAll()
[^\x20-\x7e]
name = name.replaceAll("[^\\x20-\\x7e]", "");
如果您也想摆脱空格,请\x21改用。您甚至可以仅将其限制为单词字符。使用\W表示“任何非字”的字符。然后,该名称将仅与字母数字和下划线匹配。
\x21
name = name.replaceAll("\\W", "");