Vectorised over string
and pattern
.
str_extract(string, pattern) str_extract_all(string, pattern, simplify = 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::stringi-search-regex. Control options with
Match a fixed string (i.e. by comparing only bytes), using
Match character, word, line and sentence boundaries with
|
simplify | If |
A character vector.
str_match()
to extract matched groups;
stringi::stri_extract()
for the underlying implementation.
shopping_list <- c("apples x4", "bag of flour", "bag of sugar", "milk x2") str_extract(shopping_list, "\\d")#> [1] "4" NA NA "2"str_extract(shopping_list, "[a-z]+")#> [1] "apples" "bag" "bag" "milk"str_extract(shopping_list, "[a-z]{1,4}")#> [1] "appl" "bag" "bag" "milk"str_extract(shopping_list, "\\b[a-z]{1,4}\\b")#> [1] NA "bag" "bag" "milk"# Extract all matches str_extract_all(shopping_list, "[a-z]+")#> [[1]] #> [1] "apples" "x" #> #> [[2]] #> [1] "bag" "of" "flour" #> #> [[3]] #> [1] "bag" "of" "sugar" #> #> [[4]] #> [1] "milk" "x" #>str_extract_all(shopping_list, "\\b[a-z]+\\b")#> [[1]] #> [1] "apples" #> #> [[2]] #> [1] "bag" "of" "flour" #> #> [[3]] #> [1] "bag" "of" "sugar" #> #> [[4]] #> [1] "milk" #>str_extract_all(shopping_list, "\\d")#> [[1]] #> [1] "4" #> #> [[2]] #> character(0) #> #> [[3]] #> character(0) #> #> [[4]] #> [1] "2" #># Simplify results into character matrix str_extract_all(shopping_list, "\\b[a-z]+\\b", simplify = TRUE)#> [,1] [,2] [,3] #> [1,] "apples" "" "" #> [2,] "bag" "of" "flour" #> [3,] "bag" "of" "sugar" #> [4,] "milk" "" ""str_extract_all(shopping_list, "\\d", simplify = TRUE)#> [,1] #> [1,] "4" #> [2,] "" #> [3,] "" #> [4,] "2"#> [[1]] #> [1] "This" "is" "suprisingly" "a" "sentence" #>