字符串分割并在R中互换字符串的位置

时间:2020-10-19 13:58:43

标签: r

我有一个叫做myvec的载体。我想在_拆分它并互换位置。最简单的方法是什么?

myvec <- c("08AD09144_NACC022453", "08AD8245_NACC657970")

我想要的结果:

NACC022453_08AD09144, NACC657970_08AD8245

2 个答案:

答案 0 :(得分:1)

您可以通过正则表达式捕获两组数据并使用向后引用进行互换来做到这一点。

myvec <- c("A1_B1", "B2_C1", "D1_A2")

sub('(\\w+)_(\\w+)', '\\2_\\1', myvec)
#[1] "B1_A1" "C1_B2" "A2_D1"

答案 1 :(得分:0)

我们可以使用strsplit中的base R

sapply(strsplit(myvec, "_"), function(x) paste(x[2], x[1], sep = "_"))
#[1] "NACC022453_08AD09144" "NACC657970_08AD8245"