首页 > 解决方案 > 使用重复分隔符拆分字符串

问题描述

我在 R 中有一个字符串,格式如下:

example <- c("namei1 namej1, surname1, name2, surnamei2 surnamej2, name3, surname3")

我希望获得两列:

namei1 namej1   | surname1
name2           | surnamei2 surnamej2
name3           | surname3

我尝试使用字符串拆分:

example <- c("namei1 namej1, surname1, name2, surnamei2 surnamej2, name3, surname3")
pattern <- "\\,+[[:space:]]"
str_split(example, pattern)

但是,我从这里卡住了……</p>

标签: rregexstringstrsplit

解决方案


read.csv(text = gsub("([^,]+,[^,]+),", "\\1\n", example), 
         header = FALSE, stringsAsFactors = FALSE)
#              V1                   V2
# 1 namei1 namej1             surname1
# 2         name2  surnamei2 surnamej2
# 3         name3             surname3

推荐阅读