精确匹配R中字符串的单词频率

时间:2016-05-03 22:43:59

标签: regex r

所以我有一个像这样的文本块:

  “最糟糕最不专业......我不推荐......我赞美她的辛勤工作......”

如何匹配确切的单词“commend”,计算他们的频率?

问题:

我正在计算这个词的推荐次数。

wrds <- gregexpr(pattern = "^commend$", string, fixed = TRUE)[[1]]
length(wrds)

但它返回-1

如果我尝试:

gregexpr(pattern = "commend", string, fixed = TRUE)[[1]]

输出为2,同时推荐和推荐

gregexpr我缺少什么?

1 个答案:

答案 0 :(得分:3)

  1. 不要使用fixed = TRUE。我们想要一个正则表达式,而不是一个字符串。
  2. 使用单词边界字符\b。要在R中的字符串中使用它,您需要转义反斜杠:"\\b"

    wrds <- gregexpr(pattern = "\\bcommend\\b", string)[[1]]

  3. 绝对不要使用额外的空间。这将无法匹配&#34;推荐,&#34;还有很多其他的可能性。这就是边界这个词的含义。