正则表达式 – 超过1个单词分割字符

前端之家收集整理的这篇文章主要介绍了正则表达式 – 超过1个单词分割字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下特征:

endvotes <- "Yes106No85EH2NT6ES0P1"

我想得到一个像这样的data.framelook

Yes    No   EH   NT   ES  P
    106    85   2    6    0   1

我知道如何拆分其中的每一个,例如:

yes <- unlist(str_split(end_votes,"\\No"))[1]
yes <- as.integer(unlist(str_split(yes,"Yes"))[2])

yes
[1] 106

我猜一种可能性是按位置分割,但数字(一位,两位或三位数)并不总是相同,因此我想分开答案(是,不,等等).当然,我可以为每个答案(如上所述)做到这一点,但我确信有更优雅的方式.
谁能告诉我这是如何做得很好的?
谢谢

解决方法

endvotes <- "Yes106No85EH2NT6ES0P1"

names <- strsplit(endvotes,"[[:digit:]]+")[[1]]
numbers <- strsplit(endvotes,"[[:alpha:]]+")[[1]][-1]

setNames(as.data.frame(t(as.numeric(numbers))),names)
#  Yes No EH NT ES P
#1 106 85  2  6  0 1

猜你在找的正则表达式相关文章