如何将“\”替换为空字符串?

How to replace "\" with an empty string?

提问人:KamiSama 提问时间:11/15/2023 最后编辑:kostixKamiSama 更新时间:11/17/2023 访问量:61

问:

嗨,我试图从 go 中的整个字符串中替换这个特定字符,但我得到了

missing ',' in argument list

这是我的代码,正如你所看到的,我使用了字符串。替换函数,但看起来“/”太多了,无法处理。

loadPAConfigurationData.Data = strings.Replace(loadPAConfigurationData.Data, "u003E", ">", -1)
loadPAConfigurationData.Data = strings.Replace(loadPAConfigurationData.Data, "u003C", "<", -1)
loadPAConfigurationData.Data = strings.Replace(loadPAConfigurationData.Data, "\r\n", "", -1)
loadPAConfigurationData.Data = strings.Replace(loadPAConfigurationData.Data, "\", "", -1)

我只在最后一行收到错误。请帮忙吗?

字符串 go 替换 转义

评论

5赞 Zyl 11/15/2023
使用 或 '\'。"\\"

答:

3赞 kostix 11/16/2023 #1

语句中带有调用的部分

strings.Replace(loadPAConfigurationData.Data, "\", "", -1)

按如下方式解析。

由于是一个所谓的转义序列,允许双引号字符出现在双引号字符串文字中,因此 Go 解析器读取第一个开始字符串文字,然后读取被视为 ,然后读取后跟空格,然后看到另一个结束字符串文字。 此时,解析器已经收集了另一个参数(第二个)参数,用于正在解析的方法调用。\""\"","

解析器开始进一步扫描,期望看到函数调用的另一个参数,并找到另一个参数,同时期望找到 ,或逗号(前面可能有一些空格),用于分隔调用的参数。分析器停止并报告错误。")

换句话说,这就是解析器所看到的:

                                                    +- expected a , or a )
                                                    |
                                                    v
strings.Replace(loadPAConfigurationData.Data, "\", "", -1)
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
|               |                             |
|               |                             +- the second argument
|               +- the first argument
+- the method to call

至于解决问题,您可能想使用

"\\"

`\`

表示由唯一双引号字符组成的字符串。

这在文档中进行了解释,但您的问题非常基本,我建议您花点时间至少在 Go 上完成一些介绍性材料。你可以从The Go Tour开始。