例如,我有一个字符串A1[5]B1C6
我想把它分成:
letter <- c(A, [5]B, C)
number <- c(1, 1, 6)
答案 0 :(得分:4)
使用str_extract_all
包中的stringr
,就数字而言,您可以查看数字\\d+
之前没有[
(?<!\\[)
的数字:
library(stringr)
num = unlist(str_extract_all(x,"(?<!\\[)\\d+"))
[1] "1" "1" "6"
如果是字母,可以在括号之间加上字母或数字,您可以这样做:
let = unlist(str_extract_all(x,"(\\[[[:alnum:]]+\\])*[a-zA-Z]+"))
[1] "A" "[5]B" "C"