1

我在 R 中有一个函数,它使用 grepl 命令如下:

function(x) grepl('\bx\b',res$label, perl=T)

这似乎不起作用 - 'x' 输入是一个字符类型字符串(一个句子),我想在匹配时围绕 'x' 创建单词边界,因为我不希望该术语拉出我正在搜索的表中包含一些类似术语的其他术语。

有什么建议么?

4

2 回答 2

4

您只需要正确转义正则表达式中的斜线

ff<-function(x) grepl('\\bx\\b',x, perl=T)
ff(c("axa","a x a", "xa", "ax","x"))
# [1] FALSE  TRUE FALSE FALSE  TRUE
于 2015-06-05T17:39:44.963 回答
0

如果您只想知道字符串是否是一个句子,而不是单个单词,您可以使用:function(x) grepl('\\s',x)

于 2015-06-05T17:54:57.010 回答