2013-11-05 80 views
3

請考慮以下消毒字符串grepl

vector <- c("C++", "Abba", "Beatles", "C++") 
string <- vector[1] 

grepl(string,vector) 

# Error in grepl(string, vector) : 
# invalid regular expression 'C++', reason 'Invalid use of repetition operators' 

我需要一個函數把它傳遞給正則表達式之前清空我的向量。

我試圖編寫適應從JavaScript正則表達式功能,但沒有成功。

regexSanitized <- function(string) { 
    return(gsub("/[#-}]/g", "\\$&", string)) 
} 
+3

使用:'grepl(string,vector,fixed = TRUE)'或可能'%%string'中的vector%並放棄所有regex。 –

回答

3

我想我會扔下來作爲一個答案:

用途:grepl(string, vector, fixed = TRUE)或可能vector %in% string,並放棄所有的正則表達式一起。