startsWith
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.
Usage
startsWith(x, prefix) endsWith(x, suffix)
Arguments
x | vector of |
prefix, suffix |
|
Details
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 (and for grepl
, x
does not contain missing values, see below).
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 ## Non-equivalence in case of missing values in 'x', see Details: x <- c("all", "but", NA_character_) cbind(startsWith(x, "a"), substring(x, 1L, 1L) == "a", grepl("^a", x))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.