【发布时间】:2015-06-25 08:03:17
【问题描述】:
private static void isValidName(String[] filename){
FileSystem fs = FileSystems.getDefault();
System.out.println(fs);
String pattern = ("^[\\w&[^?\\\\/. ]]+?\\.*[\\w&[^?\\\\/. ]]+$");
for (String s: filename) {
//System.out.println(s.matches(pattern));
if (s.matches(pattern)==false){
System.out.println(s.matches(pattern));
}
}
现在我调用这个函数:
String[] name2={"valami.txt."};
isValidName(name2);
如何将if(s.matches(pattern)==false)中的无效字符替换为有效字符?
输出:
false
【问题讨论】:
-
请说得更具体一些。问题是什么?哪些字符无效?你想让我做什么?如果你只是想将无效字符替换成一些有效字符,你可以使用 replaceAll 例如
-
我猜这是this SO question的延续。那么,替换应该是什么样子的呢?所有无效字符的
_字符? -
不以空格“”开头,不超过一个“.” , 不以“.”开头不以“.”结尾不是 ? / \ : ;在文件中。是的,例如 stribizhev 用 _ 替换。
-
@kokoko 重复的问题被标记为删除。
-
不是同一个问题....