regex - R split on delimiter (split) 保留分隔符 (split)

标签 regex string r split

在 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"

我想使用 R 保留分隔符( split )。所以所需的输出是:
## [1] "What is this?"    "  It's an onion." "  What!"          " That's|"        
## [5] " Well Crazy."

最佳答案

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

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

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

关于regex - R split on delimiter (split) 保留分隔符 (split),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21493081/

相关文章:

java - 非常长的字符串作为 Web 服务的响应

c - 为什么 strcat 连接两个字符串失败?

r - 相同的查询,不同的结果。可能的原因?

python - 多个组中的一个角色

c# - C#中动态字符串中的变量

regex - 正则表达式多词搜索

mysql - 循环数据库连接

r - 按文本语言拆分字符串

java - 显示电子邮件地址作为提示

regex - 将字符串与给定字符的正好 2 个匹配? (例如 2 个文字句点)