id喜欢执行以下规则:
不以空格"开头,不超过一个".",不以"."开头不以".."结尾不?/\:;文件中。
public static void Invalid(String[] filename){
for(String s: filename){
String u = s;
try {
u = new String(s.getBytes(), "UTF-8");
System.out.println(u);
} catch (Exception e) {
e.printStackTrace();
}
u=u.replaceAll("[.$]", " ");//.{2,}\?
u = u.replaceAll("\s+", "_");
System.out.println(s + " = " + u);
}
}
基本上很简单:
String[] name={"some?thing..txt."};
Invalid(name);
输出:
some?thing..txt.
some?thing..txt. = some_thing_txt_
我该怎么做?
您可以使用此模式验证文件名:
^[^?/\\;: .][^?/\\;:.]*(?:\.[^?/\\;:.]+)?$
注意:如果要允许空字符串,请在末尾添加|^$
。
不确定您到底想如何处理无效的文件名。