r - R中的正则表达式给我每个输入的TRUE
问题描述
这是我的代码:
searchvector <- c("good", "wonderful", "bad", "great", "wonder")
> grepl("wonder", searchvector)
[1] FALSE TRUE FALSE FALSE TRUE
> grepl(paste0("\\b", "wonder", "\\b"), searchvector)
[1] FALSE FALSE FALSE FALSE TRUE
> grepl(paste0("\\baudible\\b|\\b|\\bthalia\\b"), searchvector)
[1] TRUE TRUE TRUE TRUE TRUE
我有一个带有文本的大向量,我想在其中分离每个单词来计算情绪分数。我只想匹配确切的字符串,我设法用\\b
.
但是,如您所见,某些文本与整个搜索向量匹配。我无法弄清楚为什么会这样。谁能解释我这里出了什么问题?
解决方案
如果输入中有单词 char,您有一个“独立”\\b
替代方案将匹配。
您需要将其删除,并将单词包装在非捕获组中以仅重复\b
一次:
grepl(paste0("\\b(?:audible|thalia)\\b"), searchvector)
演示:
> searchvector <- c("good", "wonderful", "bad", "great", "wonder")
> grepl(paste0("\\b(?:audible|thalia)\\b"), searchvector)
[1] FALSE FALSE FALSE FALSE FALSE
> searchvector <- c("good", "wonderful", "bad", "great", "wonder", "thalia item")
> grepl(paste0("\\b(?:audible|thalia)\\b"), searchvector)
[1] FALSE FALSE FALSE FALSE FALSE TRUE
推荐阅读
- sorting - 如何在 Gatsby 中按 totalCount 排序?
- sql - Python批量插入Teradata?默认太慢
- android - 如何在浮动操作按钮上创建自定义点击监听器
- python - 如何覆盖管理员 save_model 方法
- python - Plotly:如何将文本标签添加到直方图?
- java - 输入改变元素颜色的 type="color"
- python-3.x - 在初始化时从单个属性初始化多个属性
- python - 如何确保仅存在一个特定类型的协程
- python - 如何通过从特定字符替换并打开/转发来使用 str.replace
- google-apps-script - 无论我做什么,Google 表格中的 Gapps 脚本都不会滚动