2016-05-17 73 views
6

我有一个字符串的领域中所有类似的数据帧:[R GSUB一个双引号

"Young Adult – 8-9"" 

其中内部单曲“就是我想用什么来替代获得:

"Young Adult - 8-9" 

我怎样才能做到这一点,我试图用一个双反斜线逃避:

gsub("\\"", "", string) 

,但得到这个错误:错误:意外的字符串常量在“gsub(”\“”,“”

+1

是'string'创建为'字符串< - “青少年 - 8-9”,“''或'字符串< - 青少年 - 8-9" ''? – nrussell

+1

你需要一个更多的反斜杠(为了你的代码运行 - 它是否会做你想要的是另一个问题) – eddi

+3

减少反斜杠也可以。或者只是''“''。 – alistaire

回答

7

您不需要在正则表达式中转义双引号。只需使用"\""即可匹配单个双引号。

s = "Young Adult – 8-9\"" 
s 
[1] "Young Adult – 8-9\"" 
gsub("\"", "", s) 
[1] "Young Adult – 8-9" 

this IDEONE demo

+0

其实,使用'gsub(”\“”,“”,s,fixed = TRUE)更好 - 不需要将第一个参数传递给正则表达式引擎。 –