用gsub插入反斜杠

时间:2017-01-03 15:10:56

标签: r regex

我想用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和regex,但我需要将转义符轻松应用于单个字符串。

1 个答案:

答案 0 :(得分:3)

我们需要逃避 .comment-vote { font-size: 20px; position: initial; width: 100%; display: inline-block; } .arrow-container { width: 30px; position: absolute; top: 0px; left: 0px; }

\

如果我们打印它,它只是一个gsub("_", "\\\\_", a)

\

我们可以使用cat(gsub("_", "\\\\_", a)) #blah \_ blah \_\_\_ blah

找到它
nchar