r - 使用 str split 但基于特殊字符的位置

标签 r regex string strsplit

嗨,谁能帮我解决这个问题??

C <- "NURUL AMANI [ID 26378] [IC 971035186514] SYED SAHARR [ID 61839] [IC 981627015412]"
str_split(C, "\\]")

结果是这样的

[1]"NURUL AMANI [ID 26378" " [IC 971035186514" [3]" SYED SAHARR [ID 61839" " [IC 981627015412"

我想要的结果是这样的

[1]"NURUL AMANI [ID 26378] [IC 971035186514]" [2]" SYED SAHARR [ID 61839] [IC 981627015412]"

最佳答案

使用base,你可以这样做:

strsplit(C,"(?<=\\])(?= \\w)",perl = TRUE)

并获取SYED之前的空格:

> strsplit(C,"(?<=\\])(?= \\w)",perl = TRUE)
[[1]]
[1] "NURUL AMANI [ID 26378] [IC 971035186514]"  " SYED SAHARR [ID 61839] [IC 981627015412]"

如果你不想保留这个空间,你可以这样写:

> strsplit(C,"(?<=\\]) (?=\\w)",perl = TRUE)
[[1]]
[1] "NURUL AMANI [ID 26378] [IC 971035186514]" "SYED SAHARR [ID 61839] [IC 981627015412]"

关于r - 使用 str split 但基于特殊字符的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59065089/

相关文章:

regex - 在Pig脚本中使用正则表达式从日志中提取字符串

javascript - 如何在javascript中用相同长度的空格替换找到的正则表达式子字符串?

r - "mice"包的 predict() 方法

r - 在 R 中使用 hclust 进行加权观察频率聚类

regex - 使用 Go Validator v2 转义正则表达式

regex - 多行 grep 正则表达式不起作用

string - Direct Oracle Access 截断 unicode(宽)字符串的末尾

java - 拆分这个字符串?

r - 如何将与具有随机效应的变量名称相关的公式正确传递到 `R` 中的拟合回归模型中?

r - 如何使用管道将数据帧列作为函数中的参数传递?