R gsub a single double quotation mark

可紊 提交于 2019-12-01 15:19:04

问题


I have a field of strings in a data frame all similar to:

"Young Adult – 8-9"" 

where the inner single " is what I want to replace with nothing to get:

"Young Adult - 8-9"

How can I do this? I tried to escape with a double backslash:

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

but got this error: Error: unexpected string constant in "gsub("\"", ""


回答1:


You do not need to escape a double quote in a regular expression. Just use "\"" or '"' to match a single double quote.

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"

See this IDEONE demo

NOTE: Since you want to remove some literal text, you do not even need a regex, use fixed=TRUE argument to speed up the operation:

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


来源:https://stackoverflow.com/questions/37282579/r-gsub-a-single-double-quotation-mark

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!