提问人:KamiSama 提问时间:11/15/2023 最后编辑:kostixKamiSama 更新时间:11/17/2023 访问量:61
如何将“\”替换为空字符串?
How to replace "\" with an empty string?
问:
嗨,我试图从 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)
我只在最后一行收到错误。请帮忙吗?
答:
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开始。
上一个:如何创建字符串文本
评论
"\\"