R: Locate the indices of the 'n'th instance of a pattern.

str_locate_nth {strex} | R Documentation

## Locate the indices of the `n`th instance of a pattern.

### Description

The `n`th instance of an pattern will cover a series of character indices. These functions tell you which indices those are. These functions are vectorised over all arguments.

### Usage

    str_locate_nth(string, pattern, n)

    str_locate_first(string, pattern)

    str_locate_last(string, pattern)

### Arguments

`string` | A character vector.
`pattern` | The pattern to look for. The default interpretation is a regular expression, as described in stringi::about_search_regex. To match a without regular expression (i.e. as a human would), use coll(). For details see `stringr::regex()`.
`n` | A vector of integerish values. Must be either length 1 or have length equal to the length of `string`. Negative indices count from the back: while `n = 1` and `n = 2` correspond to first and second, `n = -1` and `n = -2` correspond to last and second-last. `n = 0` will return `NA`.

### Details

- `str_locate_first(...)` is just `str_locate_nth(..., n = 1)`.

- `str_locate_last(...)` is just `str_locate_nth(..., n = -1)`.

### Value

A two-column matrix. The ith row of this matrix gives the start and end indices of the nth instance of `pattern` in the ith element of `string`.

### See Also

Other locators: `str_locate_braces()`

### Examples

    str_locate_nth(c("abcdabcxyz", "abcabc"), "abc", 2)
    str_locate_nth(
      c("This old thing.", "That beautiful thing there."),
      "\\w+", c(2, -2)
    )
    str_locate_nth("abc", "b", c(0, 1, 1, 2))
    str_locate_first("abcxyzabc", "abc")
    str_locate_last("abcxyzabc", "abc")

[Package strex version 1.3.1 Index]