Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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(""", ""

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
999 views
Welcome To Ask or Share your Answers For Others

1 Answer

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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...