我有一个名字的字符向量,看起来像
A00_A09_Intestinal_infectious_diseases
A09_Diarrhoea_and_gastro_enteritis
我想删除字符串开头的ID,以便它看起来像
Intestinal_infectious_diseases
Diarrhoea_and_gastro_enteritis
我想可以用gsub
完成,但由于我的经验不足,它对我来说没有用。
谢谢你的帮助。
答案 0 :(得分:4)
我们可以尝试使用sub
。匹配零个或多个字符后跟一个大写字母,后跟一个或多个数字和下划线,并将其替换为""
。
sub(".*[A-Z][0-9]+_", "", str1)
#[1] "Intestinal_infectious_diseases" "Diarrhoea_and_gastro_enteritis"
或者具体而言,我们匹配一个或多个({1,}
)大写字母([A-Z]
)的实例的模式,后跟一个或多个数字([0-9]+
),后跟一个下划线(_
)并将其替换为空白(""
)。
sub("([A-Z][0-9]+_){1,}", "", str1)
str1 <- c("A00_A09_Intestinal_infectious_diseases", "A09_Diarrhoea_and_gastro_enteritis")