Java 用于清理和简化文件名的库?
我想将带有空格和符号的文件名转换为只包含字符A-Z、A-Z、句点、连字符和下划线。类似这样的正则表达式:Java 用于清理和简化文件名的库?,java,string,hibernate,spring,apache-commons,Java,String,Hibernate,Spring,Apache Commons,我想将带有空格和符号的文件名转换为只包含字符A-Z、A-Z、句点、连字符和下划线。类似这样的正则表达式:([a-z][a-z]-\u \.)+ 当然,我可以用正则表达式来做。但是由于我已经在我的项目中包含了很多库(Spring、Hibernate、ApacheCommons等等),我想知道这样的库是否已经可用 这样的字符串: This>is some(string,with $invalid*-chars).jpg 将转换为: This_is_some_string_with__inva
([a-z][a-z]-\u \.)+
当然,我可以用正则表达式来做。但是由于我已经在我的项目中包含了很多库(Spring、Hibernate、ApacheCommons等等),我想知道这样的库是否已经可用
这样的字符串:
This>is some(string,with $invalid*-chars).jpg
将转换为:
This_is_some_string_with__invalid_-chars_.jpg
没有一个库能够为您提供比String.replaceAll(“[^a-zA-Z0-9-\\\.]”,“\”)True更简单的功能。我只是觉得这是一个非常常见的要求,一些标准的帮助程序库将有一个
StringUtil.cleanFilename(name)
类型的方法。没什么大不了的。顺便说一句,要使用的正确正则表达式是:“somestring”。replaceAll([^a-zA-Z0-9-\\.]”,“\\”
。如果在注释中使用正则表达式更新答案会更好。值得注意的是,这对于用户可能有非字母数字字符文件的任何系统都不起作用(中文、任何带有口音的语言等)