R: Detect a Pattern Match

stri_detect {stringi} | R Documentation

## Detect a Pattern Match

### Description

These functions determine, for each string in `str`, if there is at least one match to a corresponding `pattern`.

### Usage

    stri_detect(str, ..., regex, fixed, coll, charclass)

    stri_detect_fixed(str, pattern, negate = FALSE, ..., opts_fixed = NULL)

    stri_detect_charclass(str, pattern, negate = FALSE)

    stri_detect_coll(str, pattern, negate = FALSE, ..., opts_collator = NULL)

    stri_detect_regex(str, pattern, negate = FALSE, ..., opts_regex = NULL)

### Arguments

`str` | character vector with strings to search in
`...` | supplementary arguments passed to the underlying functions, including additional settings for `opts_collator`, `opts_regex`, `opts_fixed`, and so on
`pattern, regex, fixed, coll, charclass` | character vector defining search patterns; for more details refer to stringi-search
`negate` | single logical value; whether a no-match is rather of interest
`opts_collator, opts_fixed, opts_regex` | a named list used to tune up a search engine's settings; see `stri_opts_collator`, `stri_opts_fixed`, and `stri_opts_regex`, respectively; `NULL` for default settings;

### Details

Vectorized over `str` and `pattern`.

If `pattern` is empty, then the result is `NA` and a warning is generated.

`stri_detect` is a convenience function. It calls either `stri_detect_regex`, `stri_detect_fixed`, `stri_detect_coll`, or `stri_detect_charclass`, depending on the argument used. Relying on these underlying functions will make your code run slightly faster.

See also `stri_startswith` and `stri_endswith` for testing whether a string starts or ends with a given pattern match, respectively. Moreover, see `stri_subset` for a character vector subsetting.

### Value

Each function returns a logical vector.

### See Also

Other search_detect: `stri_startswith`, `stringi-search`

### Examples

    stri_detect_fixed(c("stringi R", "REXAMINE", "123"), c('i', 'R', '0'))
    stri_detect_fixed(c("stringi R", "REXAMINE", "123"), 'R')

    stri_detect_charclass(c("stRRRingi","REXAMINE", "123"),
       c("\\p{Ll}", "\\p{Lu}", "\\p{Zs}"))

    stri_detect_regex(c("stringi R", "REXAMINE", "123"), 'R.')
    stri_detect_regex(c("stringi R", "REXAMINE", "123"), '[[:alpha:]]*?')
    stri_detect_regex(c("stringi R", "REXAMINE", "123"), '[a-zC1]')
    stri_detect_regex(c("stringi R", "REXAMINE", "123"), '( R|RE)')
    stri_detect_regex("stringi", "STRING.", case_insensitive=TRUE)

[Package stringi version 1.2.4 Index]