Learn R Programming

stringx (version 0.2.9)

startsWith: Detect Pattern Occurrences at Start or End of Strings

Description

Determines if a string starts or ends with a match to a specified fixed pattern.

Usage

startsWith(
  x,
  pattern = prefix,
  ...,
  ignore_case = ignore.case,
  fixed = TRUE,
  ignore.case = FALSE,
  prefix
)

endsWith( x, pattern = suffix, ..., ignore_case = ignore.case, fixed = TRUE, ignore.case = FALSE, suffix )

Value

Each function returns a logical vector, indicating whether a pattern match has been detected or not. They preserve the attributes of the longest inputs (unless they are dropped due to coercion).

Arguments

x

character vector whose elements are to be examined

pattern

character vector with patterns to search for

...

further arguments to stri_startswith and stri_endswith, e.g., locale

ignore_case

single logical value; indicates whether matching should be case-insensitive

fixed

single logical value; TRUE for fixed pattern matching (see about_search_fixed); NA for the Unicode collation algorithm (about_search_coll); FALSE is not supported -- use grepl instead

ignore.case

alias to the ignore_case argument [DEPRECATED]

prefix, suffix

aliases to the pattern argument [DEPRECATED]

Differences from Base R

Replacements for base startsWith and endsWith implemented with stri_startswith and stri_endswith.

  • there are inconsistencies between the argument order and naming in grepl, strsplit, and startsWith (amongst others); e.g., where the needle can precede the haystack, the use of the forward pipe operator, |>, is less convenient [fixed here]

  • grepl also features the ignore.case argument [added here]

  • partial recycling without the usual warning [fixed here]

  • no attributes preserved whatsoever [fixed here]

  • not suitable for natural language processing [fixed here -- use fixed=NA]

Details

These functions are fully vectorised with respect to both arguments.

For matching with regular expressions, see grepl with patterns like "^prefix" and "suffix$".

See Also

The official online manual of stringx at https://stringx.gagolewski.com/

Related function(s): grepl, substr

Examples

Run this code
startsWith("ababa", c("a", "ab", "aba", "baba", NA))
outer(
    c("aba", "abb", "abc", "baba", "bac"),
    c("A", "B", "C"),
    endsWith,
    ignore_case=TRUE
)
x <- c("Mario", "mario", "M\u00E1rio", "M\u00C1RIO", "Mar\u00EDa", "Rosario")
x[startsWith(x, "mario", ignore_case=TRUE)]
x[startsWith(x, "mario", fixed=NA, strength=1L)]

Run the code above in your browser using DataLab