替换'''

问题描述:

如何将'中的字符串转换为\'替换'''

示例:Bob'sBob\'s

+0

什么是“R”? – 2010-10-22 14:00:04

+0

@Sachin:R是一门编程语言(有很多关于SO的问题,实际上我只记得它,因为我不时在这里看到R个问题)。 – delnan 2010-10-22 14:04:20

> gsub("'", "\\\\'", "foo's bar's") 
[1] "foo\\'s bar\\'s" 

结果看起来像反斜杠是双逃过一劫,但如果你用nchars检查(),你会看到,它实际上只是一个反斜杠。

我终于想通了:

gsub("\'", "\\\'", "Bob's")

什么让我感到困惑的是,反斜线不会显示。

你必须避开反斜线。

> gsub("'","\\\\'","Bob's") # R prints with the escape embedded 
[1] "Bob\\'s" 
> cat(gsub("'","\\\\'","Bob's"),"\n") # But it's just a single backslash 
Bob\'s