例如在aaaa12xxxx
中提取12
,在参考了stackoverflow后比较方便的大致有以下几种方法:
利用sub跟gsub
sub(".*?([0-9]+).*", "\\1", "aaa12xx99",perl=TRUE) #其中\\1指括号中匹配的部分
gsub("[^0-9]", "", "aaa12xxxx")
regmatchs法
txt <- "aaa12xxx"
m <- regexpr("[0-9]+",txt)
regmatches(txt,m)
- 利用stringr中的str_extract函数 (stringr包的处理字符串功能很强大,推荐学习下)
library(stringr)
str_extract("aaa12xxx", "[0-9]+")