[英]R - grepl with a specific exclusion
I was wondering how I can insert a specific exclusion pattern in a grepl
. 我想知道如何在grepl
插入特定的排除模式。
Let us imagine, I want to seach for WHAM
. 让我们想象,我想向WHAM
致意。
vec = c("WHAM VIDEO", "WHAM RAP", "WHAM", "HOTELNEWHAMP")
vec[grepl("WHAM", vec )]
What I get is 我得到的是
[1] "WHAM VIDEO" "WHAM RAP" "WHAM" "HOTELNEWHAMP"
I can see that HOTELNEWHAMP
is foreign. 我可以看到HOTELNEWHAMP
是外国的。
How can I then vec[grepl("WHAM", vec )]
and indicate clearly I do not want HOTELNEWHAMP
? 然后,我该如何vec[grepl("WHAM", vec )]
并明确指出我不希望HOTELNEWHAMP
?
(not this vec[!grepl("HOTELNEWHAMP", vec )]
because of course my real vector include many more variables). (不是这个vec[!grepl("HOTELNEWHAMP", vec )]
因为我的真实向量当然包含更多变量)。
Thanks 谢谢
Use word boundaries. 使用单词边界。
vec = c("WHAM VIDEO", "WHAM RAP", "WHAM", "HOTELNEWHAMP")
vec[grepl("\\bWHAM\\b", vec )]
# [1] "WHAM VIDEO" "WHAM RAP" "WHAM"
or 要么
vec[grepl("(?<!\\S)WHAM(?!\\S)", vec, perl=TRUE )]
# [1] "WHAM VIDEO" "WHAM RAP" "WHAM"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.