来自诸如
的字符串s <- c("123 John 80 kg", "456 Paul 23 shifts 9 l", "Diane 155 cm")
我只希望提取最后一个数字和结尾的文本。我想要的结果看起来像这样:
"80 kg" "9 l" "155 cm"
答案 0 :(得分:5)
尝试以下正则表达式,其内容类似于要求:
stringr::str_extract(s, "\\d+\\D*$")
答案 1 :(得分:4)
您可以使用正则表达式执行此操作:
sub(".*\\b(\\d+\\s+\\w+)", "\\1", s)
1] "80 kg" "9 l" "155 cm"
答案 2 :(得分:1)
使用stri_extract_last_regex
stringi::stri_extract_last_regex(s, "\\d+\\s+\\w+")
#[1] "80 kg" "9 l" "155 cm"
答案 3 :(得分:1)
或使用regmatches/regexpr
中的base R
regmatches(s, regexpr("\\d+[^0-9]*$", s))
#[1] "80 kg" "9 l" "155 cm"