【问题标题】:What is an alternative to passing a variable to a regular expression in R?将变量传递给 R 中的正则表达式的替代方法是什么?
【发布时间】:2012-12-10 15:05:17
【问题描述】:

我从一些文本中删除短词和长词的代码是:

# 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)
}

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

【问题讨论】:

  • 使用paste()sprintf()

标签: regex r variables


【解决方案1】:

使用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)
}

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 2010-10-04
    • 2011-03-09
    • 2017-10-24
    • 2020-06-09
    • 1970-01-01
    • 2023-03-18
    • 2012-01-24
    • 2018-09-23
    相关资源
    最近更新 更多