例如,我有一个字符串A1[5]B1C6
我想把它分成:
letter <- c(A, [5]B, C)
number <- c(1, 1, 6)
最佳答案
使用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"
关于r - R中如何拆分字母、带括号的字母和数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007126/