我有一个由_
分隔的字符串,我想摆脱最后两个元素。例如,从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="_")
答案 0 :(得分:7)
如何使用正则表达式:
sub('(_[A-Z]){2}$', '', 'A_B_C_D')
数字2
是您要放弃的长度。