R拆分分隔符(拆分)保留分隔符(拆分)

Tyl*_*ker 22 regex string split r

在R中,您可以使用该strsplit函数在分隔符(split)上拆分向量,如下所示:

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"
Run Code Online (Sandbox Code Playgroud)

我想split使用R 保持分隔符().所以期望的输出将是:

## [1] "What is this?"    "  It's an onion." "  What!"          " That's|"        
## [5] " Well Crazy."
Run Code Online (Sandbox Code Playgroud)

Tyl*_*ker 17

你可以使用"(?<=DELIMITERS)":

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

## [1] "What is this?"    "  It's an onion." "  What!"          " That's|"        
## [5] " Well Crazy.
Run Code Online (Sandbox Code Playgroud)

  • 你不需要所有的反斜杠.`unlist(strsplit(x,"(?<= [?.!|])",perl = TRUE))`返回相同的结果 (2认同)