例如在aaaa12xxxx中提取12,在参考了stackoverflow后比较方便的大致有以下几种方法:

  1. 利用sub跟gsub

    sub(".*?([0-9]+).*", "\\1", "aaa12xx99",perl=TRUE) #其中\\1指括号中匹配的部分

    gsub("[^0-9]", "", "aaa12xxxx")

  2. regmatchs法

txt <- "aaa12xxx"
m <- regexpr("[0-9]+",txt)
regmatches(txt,m)
  1. 利用stringr中的str_extract函数 (stringr包的处理字符串功能很强大,推荐学习下)
library(stringr)
str_extract("aaa12xxx", "[0-9]+")
04-25 12:41