Извлечение цифр после '=' только с отрицательным числом - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь извлечь цифры только после строки "="

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

Как я могу получить этот вывод?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

С базой R:

regmatches(strings, gregexpr('(?<==)-?[0-9]+', strings, perl = TRUE))
0 голосов
/ 17 декабря 2018

Мы можем попробовать

library(stringr)
as.numeric(str_extract(strings, "(?<==)-?\\d+"))
#[1]  120 -150  150
...