我喜欢做以下规则:
没有空间开始" ",不超过一个"。" ,而不是开始"。"不以"结束。"不是吗? / \ :;在文件中。
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_
我该怎么做?
答案 0 :(得分:1)
您可以使用此模式验证文件名:
^[^?/\\\\;: .][^?/\\\\;:.]*(?:\\.[^?/\\\\;:.]+)?$
注意:如果您想允许空字符串,请在末尾添加|^$
。
不确定您对无效文件名的确切想要做什么。