R: Does String Start or End With Another String?

startsWith {base} | R Documentation

## Does String Start or End With Another String?

### Description

Determines if entries of `x` start or end with string (entries of) `prefix` or `suffix` respectively, where strings are recycled to common lengths.

`startsWith()` is equivalent to but much faster than

    substring(x, 1, nchar(prefix)) == prefix

or also

    grepl("^<prefix>", x)

where `prefix` is not to contain special regular expression characters.

### Usage

    startsWith(x, prefix)
      endsWith(x, suffix)

### Arguments

`x` | vector of `character` string whose “starts” are considered.
`prefix, suffix` | `character` vector (often of length one).

### Details

The code has an optimized branch for the most common usage in which `prefix` or `suffix` is of length one, and is further optimized in a UTF-8 or 8-byte locale if that is an ASCII string.

### Value

A `logical` vector, of “common length” of `x` and `prefix` (or `suffix`), i.e., of the longer of the two lengths unless one of them is zero when the result is also of zero length. A shorter input is recycled to the output length.

### See Also

`grepl`, `substring`; the partial string matching functions `charmatch` and `pmatch` solve a different task.

### Examples

    startsWith(search(), "package:") # typically at least two FALSE, nowadays often three

    x1 <- c("Foobar", "bla bla", "something", "another", "blu", "brown",
            "blau blüht der Enzian")# non-ASCII
    x2 <- cbind(
          startsWith(x1, "b"),
          startsWith(x1, "bl"),
          startsWith(x1, "bla"),
            endsWith(x1, "n"),
            endsWith(x1, "an"))
    rownames(x2) <- x1; colnames(x2) <- c("b", "b1", "bla", "n", "an")
    x2

[Package base version 3.5.1 Index]