为grepl清理字符串

时间:2013-11-05 01:39:29

标签: regex r escaping

请考虑以下

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'

我需要一个函数来清理我的矢量,然后再传递给regex。

我试图从JavaScript编写一个正则表达式函数,但没有成功。

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

1 个答案:

答案 0 :(得分:3)

我想我会把它作为答案:

使用:grepl(string, vector, fixed = TRUE)或可能vector %in% string并放弃正则表达式。