我需要在路径字符串中将\
替换为/
,但代码失败。
package main
import (
"fmt"
"strings"
)
func main() {
string := "P:\Project\project-name/content/topic/"
fmt.Println(strings.Replace(string, "\\", "/", -1))
}
有用的建议吗?
答案 0 :(得分:4)
你没有在string
中逃避反斜杠。以下代码有效:
package main
import (
"fmt"
"strings"
)
func main() {
string := "P:\\Project\\project-name/content/topic/"
fmt.Println(strings.Replace(string, "\\", "/", -1))
}
答案 1 :(得分:4)
使用函数filepath.ToSlash将操作系统路径分隔符替换为' /'在路上。
在Windows上,该函数返回strings.Replace(path, string(filepath.Separator), "/", -1)
。在其他操作系统上,该函数按原样返回路径参数。
答案 2 :(得分:0)
您还可以使用反引号(`
)来创建原始字符串:
func main() {
string := `P:\Project\project-name/content/topic/`
fmt.Println(strings.Replace(string, "\\", "/", -1))
}
请注意,上面的原始字符串仍将其内部表示为
"P:\\Project\\project-name/content/topic/"
因此需要在"\\"
函数中使用strings.Replace
。