如何用分隔符拆分r中的字符串并丢弃最后两个项目?

时间:2013-02-01 15:08:21

标签: r stringr

我有一个由_分隔的字符串,我想摆脱最后两个元素。例如,从A_B_C_D我想要返回A_B,从A_B_C_D_E我想要A_B_C。我在str_split_fixed中尝试了stringr

my_string <- "A_B_C_D"
x <- str_split_fixed(my_string,"_",3) 

但它返回"A" "B" "C_D"而不是"A_B" "C" "D",否则我可以head(x,-2)完成A_B

有没有比

更好的方法
paste(head(unlist(strsplit(my_string,"_")),-2),collapse="_")

1 个答案:

答案 0 :(得分:7)

如何使用正则表达式:

sub('(_[A-Z]){2}$', '', 'A_B_C_D')

数字2是您要放弃的长度。