我正在做一些批量字符串清理,很多条目看起来像这样:
"ABC\Company Co."
这导致了奇怪的错误,我似乎无法删除反斜杠。
例如,尝试将其输入您的控制台:
gsub("BLAH", "", "BLAH\WHAT")
你得到:
Error: '\W' is an unrecognized escape in character string starting ""BLAH\W"
我知道它的想法\W
是一个命令......我真的很惊讶gsub'解释' x
,因为x
只是我要提出的字符串。我不明白为什么gsub关心x
中的实际内容,只是因为它应该用""替换"BLAH"
。在"BLAH\WHAT"
...
显而易见的解决方案是提前从字符串中删除\。
gsub("\\", "", "BLAH\WHAT")
但是你得到完全相同的错误信息!
思考?谢谢!
答案 0 :(得分:2)
使用
gsub("\\\\", "", "BLAH\\WHAT")
给出了
[1] "BLAHWHAT"
要生成一个反斜杠,您需要使用\
对其进行转义。因此,"\\\\"
会生成两个反斜杠,它们匹配"BLAH\\WHAT"
内的两个反斜杠。
请参阅以下相关问题: