str_split
Split up a string into pieces.
Vectorised over string
and pattern
.
Usage
str_split(string, pattern, n = Inf, simplify = FALSE)str_split_fixed(string, pattern, n)
Arguments
- string
Input vector. Either a character vector, or something coercible to one.
- pattern
Pattern to look for.
The default interpretation is a regular expression, as described in stringi::stringi-search-regex. Control options with
regex()
.Match a fixed string (i.e. by comparing only bytes), using
fixed()
. This is fast, but approximate. Generally, for matching human text, you'll wantcoll()
which respects character matching rules for the specified locale.Match character, word, line and sentence boundaries with
boundary()
. An empty pattern, "", is equivalent toboundary("character")
.- n
number of pieces to return. Default (Inf) uses all possible split positions.
For
str_split_fixed
, if n is greater than the number of pieces, the result will be padded with empty strings.- simplify
If
FALSE
, the default, returns a list of character vectors. IfTRUE
returns a character matrix.
Value
For str_split_fixed
, a character matrix with n
columns.
For str_split
, a list of character vectors.
See Also
stri_split()
for the underlying implementation.
Examples
# NOT RUN {
fruits <- c(
"apples and oranges and pears and bananas",
"pineapples and mangos and guavas"
)
str_split(fruits, " and ")
str_split(fruits, " and ", simplify = TRUE)
# Specify n to restrict the number of possible matches
str_split(fruits, " and ", n = 3)
str_split(fruits, " and ", n = 2)
# If n greater than number of pieces, no padding occurs
str_split(fruits, " and ", n = 5)
# Use fixed to return a character matrix
str_split_fixed(fruits, " and ", 3)
str_split_fixed(fruits, " and ", 4)
# }
Community examples
z <- 'World, Asia, India, Punjab and Jalandhar' # Option 1 str_split(z, ",\\s|\\sand\\s") # Option 2 str_split(z, ", | and ")
```r datetime = "01/01/1900 00:00:00" #Displays split date #Splits string by space str_split(date, " ", simplify = TRUE) #Reference individual parts #Extracts date str_split(date, " ", simplify = TRUE)[,1] #Extracts time str_split(date, " ", simplify = TRUE)[,2] #Extracting year presents a problem when splitting by / #time is included with year str_split(date, "/", simplify = TRUE)[,3] #Extracting year only strtrim(str_split(date, "/", simplify = TRUE)[,3],4) ```