Ищу сниппета в Java, который заменяетJava replaceAll заменить специальные символы
"..", "/" or "\" or ":" - FileSeperator characters with
""
в FileName собственность передается от пользовательского интерфейса. Это должно быть независимым от ОС. Кроме того, я не хочу, чтобы удалить "одну точку", только "две точки"
В настоящее время я написал фрагмент
private static void filter(){
// should not remove the Single Dot
String fileName = "/user/../142552/ReportFile.txt"
fileName = fileName.replaceAll("[/|\\|..|:|]","");
System.out.println("fileName " + fileName);
}
Выход
fileName user142552ReportFiletxt
Ожидаемый результат
fileName user142552ReportFile.txt
Итак, каков ваш вопрос? Работает ли ваш код или нет? Если это не так, то объясните, в чем проблема. – Jesper
Ваш метод успешно удаляет разделители с исходного ввода. user142552 - это результат, и я не понимаю, в чем смысл этого вывода, что вы будете с этим делать? Код – Juvanis
должен удалить любые специальные символы из ввода. Пользователь не вводит ничего необычного, но только для того, чтобы не допустить доступа к файлу за пределами местоположения. – minil