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));
}
}
Теперь я называю эту функцию:Как изменить недопустимые символы на допустимые символы в Java?
String[] name2={"valami.txt."};
isValidName(name2);
Как я могу заменить недопустимые символы в if(s.matches(pattern)==false)
с действительными персонажами?
Выход: false
, пожалуйста, уточните пожалуйста. В чем проблема? Какие символы недопустимы? что ты хочешь делать? Если вы просто хотите заменить недопустимые символы на некоторые допустимые, вы можете использовать replaceAll, например, – vefthym
. Я предполагаю, что это продолжение [этого вопроса SO] (http://stackoverflow.com/questions/31027805/how-can-i -Write-а-более-комплексно-регулярное_выражение-в-Java). Итак, как должна выглядеть замена? Символ '_' для всех недопустимых символов? –
Не начинать с места "", не более одного "." , а не начинать с "." не заканчивается на "." не?/\:; в файле. А да stribizhev заменить на _ например. – kokoko