【发布时间】:2017-01-03 15:10:56
【问题描述】:
我想用 knitr 输出我的 R 分析,并且我有一个包含一行下划线的文本。我必须让他们逃脱,所以把每个_ 变成\_。
但是因为反斜杠也是正则表达式中的特殊字符,所以我没有找到在每个下划线之前插入一个反斜杠的方法。似乎奇数的反斜杠会产生错误(我猜最后一个与下划线配对),但尝试用偶数转义也不起作用。
a <- "blah _ blah ___ blah"
> gsub("_", "\\_", a)
[1] "blah _ blah ___ blah"
> gsub("_", "\\\\_", a)
[1] "blah \\_ blah \\_\\_\\_ blah"
> gsub("_", "\\\_", a)
Error: '\_' is an unrecognized escape in character string starting ""\\\_"
> gsub("_", "\_", a)
Error: '\_' is an unrecognized escape in character string starting ""\_"
正确的方法是什么?它不必使用 gsub 和正则表达式,但我需要将转义轻松应用于单个字符串。
【问题讨论】:
-
这个问题不是重复的。另一个问题的答案是使用两个反斜杠 - 你可以在我的文字中看到我尝试过但它不起作用。
-
这些都是骗子,问题 - 替换为
\- 描述得很好。阿克伦多次回答。这里是my answer。 -
@WiktorStribiżew 好的,抱歉,现在知道了。 “必须通过猫运行”部分确实让我感到困惑。