将变量传递给R中的正则表达式的替代方法是什么?

时间:2012-12-10 15:05:18

标签: regex r variables

我的一段代码,用于删除短片和短片某些文字中的长词是:

# Remove Words based on lowerCutOff & upperCutOff
removeByLength<- function(text,lowerCutOff=2,upperCutOff=12){
  text<- gsub("\\b[a-zA-Z0-9]{1,lowerCutOff}\\b|\\b[a-zA-Z0-9]{upperCutOff,}\\b"," ",text)
  return(text)
}

如何在不对下部和下部进行硬编码的情况下实现所需的功能。上截止点?

1 个答案:

答案 0 :(得分:4)

使用paste连接字符串以创建模式:

removeByLength<- function(text,lowerCutOff=2,upperCutOff=12){
  pattern <- paste("\\b[a-zA-Z0-9]{1,",lowerCutOff,
                 "}\\b|\\b[a-zA-Z0-9]{",upperCutOff,",}\\b", sep="")
  text <- gsub(pattern, " ", text)
  return(text)
}