我正在尝试从矢量中提取年龄(数值),尝试以下但是工作
实施例: -
a <- "age-32 agge32 age 45 aage 56 agee 34"
b <- gsub("[Aa]g.e?"," age ",a)
sa <- strsplit(x=b, split="\\s")
age <- stringr::str_extract(sa, "(age?)(\\s[^\\s]+){1}")
(or)
age <- grep("(([^\\s]+\\s){0}(age)(\\s[^\\s]+){1})",sel,value = TRUE)
答案 0 :(得分:1)
这就是你想要的:
library(stringr)
as.numeric(str_extract_all(a,"\\d+")[[1]])
或使用gregexpr
和regmatches
BASE R :
as.numeric(regmatches(a,gregexpr("\\d+",a))[[1]])
或在 BASE R 中使用grep
和strsplit
:
as.numeric(grep("\\d+",strsplit(a,split=" |-|[a-zA-Z]")[[1]],value=T))
<强>输出强>:
[1] 32 32 45 56 34