我在数据框中有一个字符串字段,它们都类似于:
"Young Adult – 8-9""
其中,内部单曲“是我想用什么都不想得到的东西来替换:
"Young Adult - 8-9"
我该怎么做呢?我试图用双反斜杠进行转义:
gsub("\\"", "", string)
但收到以下错误: error:“gsub( "”\“”,“”)中的意外字符串常量“”
发布于 2016-05-18 01:55:37
您不需要在正则表达式中转义双引号。只需使用"\""
或'"'
来匹配单双引号。
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)
发布于 2021-04-15 21:26:22
将包含“”
的gsub
保存在.R script
文件中时,“”
将另存为"
。
gsub("[“”]", "", s) # Doesn't work when you save this piece of code in a script
变通的解决方案是先规范化双引号
x <- proustr::pr_normalize_punc(your_data_frame, your_column_name) %>%
mutate(your_column_name = gsub('\"','', your_column_name))
您可以猜到,proustr::pr_normalize_punc
会将所有“”
转换为\"
https://stackoverflow.com/questions/37282579
复制相似问题