strings.Trim正在删除字母" i" (golang)

时间:2017-02-15 06:27:49

标签: go

full path: views/admin/users.html
trim set (views): /admin/users.html
trim set (views/): admin/users.html

full path: views/index.html
trim set (views): /index.html
trim set (views/): ndex.html

继承我的代码:

    err := filepath.Walk("./views", func(path string, info os.FileInfo, err error) error {
        if strings.Contains(path, ".html") {
            bytes, err := ioutil.ReadFile(path)
            if err != nil {
                panic(err)
            }
            fmt.Println("full path:", path)
            fmt.Println("trim set (views):", strings.Trim(path, "views"))
            fmt.Println("trim set (views/):", strings.Trim(path, "views/"))
        }
    }

我是否忘记了?正斜杠与此有关吗?如果你知道的话,请解释一下。

2 个答案:

答案 0 :(得分:6)

strings.Trim()的第二个参数是' cutset',即从字符串中删除的一组符文,以及' i'是其中之一。

要返回路径的最后一个元素,请使用path.Dir()

答案 1 :(得分:0)

您也可以使用strings.Replace

fmt.Println("full path:", path)
fmt.Println("trim set (views):", strings.Replace(path, "views", "", -1))
fmt.Println("trim set (views/):", strings.Replace(path, "views/", "", -1))

结果:

full path: views/index.html
trim set (views): /index.html
trim set (views/): index.html