我正尝试仅在“ =”字符串之后提取数字
strings <- c("1t clever=120","3c stupid=-150 bad","5k high iq=150 good")
并尝试
as.numeric(gsub("[^\\d]+","",strings,perl = TRUE))
给出
[1] 1120 3150 5150
预期输出
120 -150 150
如何获得此输出?
答案 0 :(得分:3)
我们可以尝试
library(stringr)
as.numeric(str_extract(strings, "(?<==)-?\\d+"))
#[1] 120 -150 150
答案 1 :(得分:3)
以R为底
regmatches(strings, gregexpr('(?<==)-?[0-9]+', strings, perl = TRUE))