我的网页中有一个 uploader ,但有些人上传名为“compañia 15% *09.jpg”的文件,当文件名与此类似时,我遇到了问题。
我想找到一个为该示例返回类似这样的类:“compania1509.jpg”。
最佳答案
换句话说,您想去掉printable ASCII range 之外的所有字符。 ?您可以使用 String#replaceAll()
为此使用 [^\x20-\x7e]
模式。
name = name.replaceAll("[^\\x20-\\x7e]", "");
如果你也想去掉空格,那么从 \x21
开始。您甚至可以将其限制为仅限单词字符。使用 \W
表示“任何非单词”字符。然后名称将仅匹配字母数字和下划线。
name = name.replaceAll("\\W", "");
关于java - 有谁知道一些返回操作系统友好文件名的 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3069634/