库清理和简化文件名?

Tau*_*ren 4 java string spring hibernate apache-commons

我想转换包含空格和符号的文件名,只包含字符AZ,az,句点,连字符和下划线.像这样的正则表达式:([a-z][A-Z]-_\.)+

当然,我可以用正则表达式做到这一点.但是因为我已经在我的项目中包含了许多库(Spring,Hibernate,Apache Commons等等),所以我想知道这样的东西是否已经可用.

所以像这样的字符串:

This>is some(string,with $invalid*-chars).jpg
Run Code Online (Sandbox Code Playgroud)

将转换为:

This_is_some_string_with__invalid_-chars_.jpg
Run Code Online (Sandbox Code Playgroud)

mat*_*t b 9

没有图书馆能够为你提供比这更简单的东西 String.replaceAll("[^a-zA-Z0-9-_\\.]", "_")

  • 真正.我只是认为这是一个普遍的要求,一些标准的助手库将有一个`StringUtil.cleanFilename(name)`类型的方法.没什么大不了.顺便说一句,正确使用的正则表达式是:`"somestring".replaceAll("[^ a-zA-Z0-9 -_ \\.]","_")`. (9认同)
  • 如果答案可以用评论中的正则表达式更新会更好,因为它更好。 (2认同)