R split on delimiter (split) keep the delimiter (split)

r, regex, split, string

Solution

You can use `"(?<=DELIMITERS)"`:

unlist(strsplit(x, "(?<=[?.!|])", perl=TRUE))

## [1] "What is this?"    "  It's an onion." "  What!"          " That's|"        
## [5] " Well Crazy.

Problem

In R you can use the `strsplit` function to split a vector on a delimiter(`split`) as follows: ``` x <- "What is this? It's an onion. What! That's| Well Crazy." unlist(strsplit(x, "[\\?\\.\\!\\|]", perl=TRUE)) ## [1] "What is this" " It's an onion" " What" " That's" ## [5] " Well Crazy" ``` I'd like to keep the delimiter(`split`) using R. So the desired output would be: ``` ## [1] "What is this?" " It's an onion." " What!" " That's|" ## [5] " Well Crazy." ```

Original source