为了账号安全,请及时绑定邮箱和手机立即绑定

来自字符串“\”的 Golang 修剪前缀

来自字符串“\”的 Golang 修剪前缀

Go
扬帆大鱼 2023-08-07 15:07:44
我已经看到 golang 具有返回 s 的函数,func TrimPrefix(s, prefix string) string而没有提供前导前缀字符串。我的问题是我有一个以字符“\”开头的字符串(例如“\foo”)。当我尝试使用 TrimPrefix 时出现错误。戈兰代码:var s = "\foo"     s = strings.TrimPrefix(s, "\")     fmt.Print(s)错误:./prog.go:10:32: newline in string ./prog.go:10:32: syntax error: unexpected newline, expecting comma or )我发现这是由于 golang 将“\”理解为 scape 字符。你知道我是否可以使用任何 golang 选项来让 golang 理解我不想使用“\”作为转义字符?
查看完整描述

2 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

"\"不是有效的 Go 字符串文字。您得到的是编译时错误。在解释的字符串文字中,反斜杠\是一个特殊字符。

如果您希望字符串包含反斜杠字符,则必须使用以下序列\\

var s = "\\foo"
s = strings.TrimPrefix(s, "\\")

它将输出(在Go Playground上尝试):

foo

另一种选择是使用原始字符串文字,其中反斜杠不特殊:

var s = `\foo`
s = strings.TrimPrefix(s, `\`)

在Go Playground上试试这个。


查看完整回答
反对 回复 2023-08-07
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

如果您只想修剪特定前缀的前缀(例如“\”是长度为1的前缀),您可以使用切片函数str[len(prefix):]

只是因为它是一个前缀——字符串的头和一个长度已知的前缀。

如果您只想了解 的使用,请忽略我的帖子TrimPrefix。:D


查看完整回答
反对 回复 2023-08-07
  • 2 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信