R 没有模式字符串的子集字符串

R 没有模式字符串的子集字符串,r,stringr,R,Stringr,我想提取字符向量中与给定模式不匹配的元素。请参见示例: x<-c("age_mean","n_aitd","n_sle","age_sd","n_poly","n_sero","child_age") x_age<-str_subset(x,"age") x_notage<-setdiff(x,x_age) x在这种情况下,似乎没有理由使用stringr(可能是效率)。您只需使用grep: grep("age", x, invert = TRUE, value = TRUE)

我想提取字符向量中与给定模式不匹配的元素。请参见示例:

x<-c("age_mean","n_aitd","n_sle","age_sd","n_poly","n_sero","child_age")
x_age<-str_subset(x,"age")
x_notage<-setdiff(x,x_age)

x在这种情况下,似乎没有理由使用
stringr
(可能是效率)。您只需使用
grep

grep("age", x, invert = TRUE, value = TRUE)
# [1] "n_aitd" "n_sle"  "n_poly" "n_sero"
但是,如果您想坚持使用
str\u stringr
,请注意(从
?str\u subset

str_subset()是x[str_detect(x,pattern)]的包装器,相当于grep(pattern,x,value=TRUE)

所以

或者也

x[!grepl("age", x)]
# [1] "n_aitd" "n_sle"  "n_poly" "n_sero"
x[!grepl("age", x)]
# [1] "n_aitd" "n_sle"  "n_poly" "n_sero"