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

标签 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)
}

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

最佳答案

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

关于regex - 在 R 中将变量传递给正则表达式的替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13803524/

相关文章:

c# - 使用正则表达式替换删除行

r - 使用 broom 包整理 map 时保留区域名称

r - data.table 删除关键行并汇总

java - 为什么我的 switch block 中出现 "variable might not have been initialized"编译器错误?

c# - 关于 ,(?=(? :[ ^']*' [ ^']*' )*[^']*$)

python - 删除字符串 Python 中的 Unicode 代码 (\uxxx)

javascript - 清理 HTML 标签属性

r - 如何将字符串公式传递给 R 的 lm 并查看摘要中的公式?

Java:滚轮程序 - 调试 - 无论有效信息如何,变量都不会从 JTextField 更新并抛出 NumberFormatException

Java,局部变量无故增加其值