aboutsummaryrefslogtreecommitdiff
path: root/challenge-112/ziameraj16/java/CanonicalPath.java
blob: d299c1908af6be6ea47029fc43418270c0540c19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;

public class CanonicalPath {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter a string");
        String input = scanner.next();
        System.out.println(getCanonicalPath(input));
    }

    public static String getCanonicalPath(String input) {
        input = input.replaceAll("//", "/");
        if ('/' == (input.charAt(input.length() - 1))) {
            input = input.substring(0, input.length() - 1);
        }
        while (input.contains("/..")) {
            int index = input.indexOf("/..");
            input = input.replace("/" + input.charAt(index - 1) + "/..", "");
        }
        return input;
    }
}