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"
我想知道如何在 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"