我有一个由 _ 分隔的字符串,我想去掉最后两个元素。例如,从 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="_")

最佳答案

如何使用正则表达式:

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

其中数字 2 是您要删除的长度。

关于r - 如何通过分隔符拆分 r 中的字符串并丢弃最后两项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14649192/

10-12 17:46