Для этой строки dirPath
,
String dirPath = "c:/create/a/dir/very/deep/inside/../././../../../dir/";
Я хочу, чтобы выходная строка выглядела так:
"c:/create/a/dir/very/deep/inside/../../../../dir/";
Я использовал:
dirPath.replaceAll("/[.]/", "/");
но это дало:
c:/create/a/dir/very/deep/inside/.././../../../dir/
^^^
затем попробовал еще с replaceAll
как:
dirPath.replaceAll("/[.]/", "/").replaceAll("/[.]/", "/");
и это сработало!
Мой вопрос: почему один звонок не может достичь того же результата?
Как добиться этого самым простым способом?
P.S. Еще одно регулярное выражение, которое не сработало для меня: .replaceAll("($|/)[.]/", "$1")