r - string a split 并将前缀粘贴到新的拆分字符串

标签 r

我需要用一个公共(public)字符拆分一堆字符串,但我需要保留此拆分的前缀并将其粘贴到新的拆分字符串中。这是我的矢量数据中前两个字符串的示例(有很多)。

例子:

dat <- c("Dry Lake I & II", "Blue Moon 1 & 2", "Hardscrabble 2012 & 2013)
"Dry Lake I & II"
"Blue Moon 1 & 2"

需要成为:

"Dry Lake I" 
"Dry Lake II"
"Blue Moon 1"
"Blue Moon 2"

我可以使用 strsplit 拆分,但我不知道如何完成第二部分。

strsplit(dat, "&")

给我:

[[1]]
[1] "Dry Lake I " " II" 
[[2]]
[1] "Blue Moon 1 " " 2" 

有什么想法吗?

最佳答案

这是一个可能适合您需要的版本:

x <- "Dry Lake I & II"
x <- sub("(.*) I & II", "\\1 I & \\1 II", x)
strsplit(x, "\\s+&\\s+")[[1]]

[1] "Dry Lake I"  "Dry Lake II"

这里的逻辑是我们转换<some content> I & II进入:

<some content> I & <some content> II

然后,我们根据分隔符 & 进行拆分生成字符向量。这里的一个缺陷是,如果&,该方法可能不起作用。可以作为名称的一部分出现。

关于r - string a split 并将前缀粘贴到新的拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797079/

相关文章:

python - 在类别 : Equivalent of R's ddply in Python? 内计算

R 返回第一个下划线后的所有字符

r - 为什么 Pearson 相关输出为 NaN?

r - 添加自定义垂直线joyplots ggridges

r - R 或其他汇总量中的精确召回曲线下的面积

r - 如何使用合并或替换来更新 R 中具有多列的表

string - 在R中将多个字符串连接成一个字符串

r - 在数据框上定义和应用自定义容器

r - 使用累积连接将嵌套列表转换为非嵌套列表

R: eval(parse(...)) 通常不是最优的