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"