str_subset()
is a wrapper around x[str_detect(x, pattern)]
,
and is equivalent to grep(pattern, x, value = TRUE)
.
str_which()
is a wrapper around which(str_detect(x, pattern))
,
and is equivalent to grep(pattern, x)
.
See str_detect()
for an equivalent to grepl(pattern, x)
.
str_subset(string, pattern, negate = FALSE) str_which(string, pattern, negate = FALSE)
string  Input vector. Either a character vector, or something coercible to one. 

pattern  Pattern to look for. The default interpretation is a regular expression, as described
in stringi::stringisearchregex. Control options with
Match a fixed string (i.e. by comparing only bytes), using
Match character, word, line and sentence boundaries with

negate  If 
A character vector.
Vectorised over string
and pattern
grep()
with argument value = TRUE
,
stringi::stri_subset()
for the underlying implementation.
#> [1] "apple" "banana" "pear" "pineapple"str_which(fruit, "a")#> [1] 1 2 3 4str_subset(fruit, "^a")#> [1] "apple"str_subset(fruit, "a$")#> [1] "banana"str_subset(fruit, "b")#> [1] "banana"str_subset(fruit, "[aeiou]")#> [1] "apple" "banana" "pear" "pineapple"# Returns elements that do NOT match str_subset(fruit, "^p", negate = TRUE)#> [1] "apple" "banana"#> [1] "a" "b"#> [1] 1 3