Regex R gsub一个单双引号

Regex R gsub一个单双引号,regex,r,escaping,gsub,Regex,R,Escaping,Gsub,我在数据帧中有一个字符串字段,类似于: "Young Adult – 8-9"" 其中“内部单曲”是我想用“无需获得”来代替的: "Young Adult - 8-9" 我该怎么做?我试图用双反斜杠逃跑: gsub("\\"", "", string) 但出现以下错误:错误:在“gsub(“\”,“中出现意外的字符串常量。您不需要在正则表达式中转义双引号。只需使用“\”或”匹配单个双引号即可 s = "Young Adult – 8-9\"" s [1] "Young Adult – 8

我在数据帧中有一个字符串字段,类似于:

"Young Adult – 8-9"" 
其中“内部单曲”是我想用“无需获得”来代替的:

"Young Adult - 8-9"
我该怎么做?我试图用双反斜杠逃跑:

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

但出现以下错误:错误:在“gsub(“\”,“

中出现意外的字符串常量。您不需要在正则表达式中转义双引号。只需使用
“\”
匹配单个双引号即可

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

注意:由于要删除一些文字,甚至不需要正则表达式,因此使用
fixed=TRUE
参数可加快操作速度:

gsub('"', "", s, fixed=TRUE)

.R脚本
文件中使用
保存
gsub
时,
将另存为

解决方法是首先规范化双引号

x <- proustr::pr_normalize_punc(your_data_frame, your_column_name) %>%
     mutate(your_column_name = gsub('\"','', your_column_name))
x%
变异(你的列名=gsub('\','',你的列名))

您可以猜到,
proustr::pr\u normalize\u punc
将所有
转换为
\”

被创建为
字符串,您需要多加一个反斜杠(为了让您的代码运行,它是否会做您想要的事情是另一个问题),少加一个反斜杠也可以。或者只加一个
x <- proustr::pr_normalize_punc(your_data_frame, your_column_name) %>%
     mutate(your_column_name = gsub('\"','', your_column_name))