Detect a Pattern Match

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

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)


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


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;


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.


Each function returns a logical vector.

See Also

Other search_detect: stri_startswith, stringi-search

  • stri_detect
  • stri_detect_fixed
  • stri_detect_charclass
  • stri_detect_coll
  • stri_detect_regex
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)

# }
Documentation reproduced from package stringi, version 1.2.4, License: file LICENSE

Community examples

Looks like there are no examples yet.