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/"))
}
}
我是否忘记了?正斜杠与此有关吗?如果你知道的话,请解释一下。
答案 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