You need to enable JavaScript to run this app. R语言使用strsplit分割字符串如何将标点作为单独元素返回
优惠活动
大模型
产品
解决方案
定价
更多

R语言使用strsplit分割字符串如何将标点作为单独元素返回

解决方案

你原来的代码仅按空格拆分,因此逗号会和前面的单词绑定为一个元素,调整正则规则即可实现需求,两种实现方式如下:

方式1:基础R原生实现

调整正则拆分规则,同时匹配空格、逗号前的零宽位置、逗号后的零宽位置,需要开启perl=TRUE参数支持零宽断言语法:

file_name <- 'I am a good boy who went to Africa, Brazil and India'
strsplit(file_name, "(?=,)|(?<=,)| ", perl = TRUE)

运行输出和你要求的预期结果完全一致:

[[1]]
 [1] "I"      "am"     "a"      "good"   "boy"    "who"    "went"   "to"     "Africa" ","      "Brazil" "and"    "India" 

方式2:使用stringr包提取

如果你常用tidyverse生态工具,也可以用str_extract_all直接提取所有目标元素:

library(stringr)
file_name <- 'I am a good boy who went to Africa, Brazil and India'
str_extract_all(file_name, "\\w+|,")

运行结果和上述方式完全相同。


内容的提问来源于stack exchange,提问作者89_Simple

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 20:54:01