繁体   English   中英

R-带有特定排除项的grepl

[英]R - grepl with a specific exclusion

我想知道如何在grepl插入特定的排除模式。

让我们想象,我想向WHAM致意。

vec = c("WHAM VIDEO", "WHAM RAP", "WHAM", "HOTELNEWHAMP")
vec[grepl("WHAM", vec )]

我得到的是

[1] "WHAM VIDEO"   "WHAM RAP"     "WHAM"         "HOTELNEWHAMP"

我可以看到HOTELNEWHAMP是外国的。

然后,我该如何vec[grepl("WHAM", vec )]并明确指出我不希望HOTELNEWHAMP

(不是这个vec[!grepl("HOTELNEWHAMP", vec )]因为我的真实向量当然包含更多变量)。

谢谢

使用单词边界。

vec = c("WHAM VIDEO", "WHAM RAP", "WHAM", "HOTELNEWHAMP")
vec[grepl("\\bWHAM\\b", vec )]
# [1] "WHAM VIDEO" "WHAM RAP"   "WHAM" 

要么

vec[grepl("(?<!\\S)WHAM(?!\\S)", vec, perl=TRUE )]
# [1] "WHAM VIDEO" "WHAM RAP"   "WHAM"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM