Михаил обнови решението на 12.10.2013 18:14 (преди над 4 години)
+package main
+
+import "regexp"
+
+func parsePath(path string) (result string) {
+ result = "/"
+ tokens := regexp.MustCompile("/").Split(path, -1)
+ skip, index := 0, len(tokens)-1
+ for ; index >= 0; index-- {
+ token := tokens[index]
+ switch token {
+ case ".", "":
+ case "..":
+ skip++
+ default:
+ if skip != 0 {
+ skip--
+ } else {
+ result = "/" + token + result
+ }
+ }
+ }
+ return
+}