Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于清理和简化文件名的库?_Java_String_Hibernate_Spring_Apache Commons - Fatal编程技术网

Java 用于清理和简化文件名的库?

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、句点、连字符和下划线。类似这样的正则表达式:
([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-\\.]”,“\\”
。如果在注释中使用正则表达式更新答案会更好。值得注意的是,这对于用户可能有非字母数字字符文件的任何系统都不起作用(中文、任何带有口音的语言等)