Vectorised over string
and pattern
. If the match is of length
0, (e.g. from a special match like $
) end will be one character less
than start.
str_locate(string, pattern) str_locate_all(string, pattern)
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
|
For str_locate
, an integer matrix. First column gives start
postion of match, and second column gives end position. For
str_locate_all
a list of integer matrices.
str_extract()
for a convenient way of extracting matches,
stringi::stri_locate()
for the underlying implementation.
#> start end #> [1,] 6 5 #> [2,] 7 6 #> [3,] 5 4 #> [4,] 10 9str_locate(fruit, "a")#> start end #> [1,] 1 1 #> [2,] 2 2 #> [3,] 3 3 #> [4,] 5 5str_locate(fruit, "e")#> start end #> [1,] 5 5 #> [2,] NA NA #> [3,] 2 2 #> [4,] 4 4#> start end #> [1,] 1 1 #> [2,] 1 1 #> [3,] 1 1 #> [4,] 1 1str_locate_all(fruit, "a")#> [[1]] #> start end #> [1,] 1 1 #> #> [[2]] #> start end #> [1,] 2 2 #> [2,] 4 4 #> [3,] 6 6 #> #> [[3]] #> start end #> [1,] 3 3 #> #> [[4]] #> start end #> [1,] 5 5 #>str_locate_all(fruit, "e")#> [[1]] #> start end #> [1,] 5 5 #> #> [[2]] #> start end #> #> [[3]] #> start end #> [1,] 2 2 #> #> [[4]] #> start end #> [1,] 4 4 #> [2,] 9 9 #>#> [[1]] #> start end #> [1,] 1 1 #> #> [[2]] #> start end #> [1,] 1 1 #> #> [[3]] #> start end #> [1,] 1 1 #> #> [[4]] #> start end #> [1,] 1 1 #> [2,] 6 6 #> [3,] 7 7 #># Find location of every character str_locate_all(fruit, "")#> [[1]] #> start end #> [1,] 1 1 #> [2,] 2 2 #> [3,] 3 3 #> [4,] 4 4 #> [5,] 5 5 #> #> [[2]] #> start end #> [1,] 1 1 #> [2,] 2 2 #> [3,] 3 3 #> [4,] 4 4 #> [5,] 5 5 #> [6,] 6 6 #> #> [[3]] #> start end #> [1,] 1 1 #> [2,] 2 2 #> [3,] 3 3 #> [4,] 4 4 #> #> [[4]] #> start end #> [1,] 1 1 #> [2,] 2 2 #> [3,] 3 3 #> [4,] 4 4 #> [5,] 5 5 #> [6,] 6 6 #> [7,] 7 7 #> [8,] 8 8 #> [9,] 9 9 #>