您可以使用搜索和替换并删除与A,B,C&D不同的所有字母:
# example data df <- data.frame(x1= c("1A41", "5B21", "5D12", "8C12")) df$x2 <- gsub('.*([A-D]).*','\\1',df$x1)