2016-05-17 78 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)更好 - 不需要將第一個參數傳遞給正則表達式引擎。 –