用R中的`\`+ wild charcter替换gsub中的wild字符

时间:2015-07-26 10:12:19

标签: regex r

我想用相同的字符替换野生字符,但前缀为\

例如:

gsub("#","\\#","234254#3")

预期结果:234254\#3 但我们得到:

  "234254#3"



   gsub(" ","\\ ","234254 3")

预期结果:234254\ 3

但我们得到:

"234254 3"

但是这个命令不起作用。

2 个答案:

答案 0 :(得分:5)

您可以使用fixed=TRUE作为gsub的第4个参数,并使用\\代替:

res <- gsub("#", "\\#", "234254#3", fixed=TRUE)
cat(res)

<强>输出:

234254\#3

答案 1 :(得分:3)

您可以使用

 res <- gsub("#","\\\\#","234254#3")
 cat(res, '\n')
 #234254\#3 
 nchar(res)
 #[1] 9

使其更清晰

 nchar('\\')
 #[1] 1

对于第二个,它也是相同的\\\\

 gsub(" ","\\\\ ","234254 3")