有谁知道,返回的操作系统文件名友好一些Java类?(Does anyone know some Ja

2019-10-23 07:15发布

我有一个上传在我的网页,但有些人上传名为类似“companía与15%* 09.jpg”文件和我有问题时,文件名是这样的。

我想发现返回该例如像这样一类:“compania1509.jpg”。

Answer 1:

换句话说,你想获得摆脱外的所有字符的打印ASCII范围 ? 您可以使用String#replaceAll()用的模式[^\x20-\x7e]这一点。

name = name.replaceAll("[^\\x20-\\x7e]", "");

如果你想摆脱的空间为好,然后开始\x21来代替。 你甚至可以将其限制为只字字符。 使用\W ,表示“任何非字”的字符。 然后该名称将只匹配alphanumericals和下划线。

name = name.replaceAll("\\W", "");


文章来源: Does anyone know some Java class that return a operating system friendly filename?