Извлечение последнего числового и последующего текста в R - PullRequest
3 голосов
/ 04 мая 2019

из строки типа

s <- c("123 John 80 kg", "456 Paul 23 shifts  9 l", "Diane 155 cm")

Я хочу извлечь только последние цифры и завершающий текст. Мой желаемый результат выглядит так:

"80 kg" "9 l" "155 cm"

Ответы [ 4 ]

5 голосов
/ 04 мая 2019

Попробуйте следующее регулярное выражение, которое выглядит как требования:

stringr::str_extract(s, "\\d+\\D*$")
4 голосов
/ 04 мая 2019

Вы можете сделать это с помощью регулярного выражения:

sub(".*\\b(\\d+\\s+\\w+)", "\\1", s)
1] "80 kg"  "9 l"    "155 cm"
1 голос
/ 04 мая 2019

Или используя regmatches/regexpr из base R

regmatches(s, regexpr("\\d+[^0-9]*$", s))
#[1] "80 kg"  "9 l"    "155 cm"
1 голос
/ 04 мая 2019

Использование stri_extract_last_regex

stringi::stri_extract_last_regex(s, "\\d+\\s+\\w+")
#[1] "80 kg"  "9 l"    "155 cm"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...