从像这样的字符串中
s <- c("123 John 80 kg", "456 Paul 23 shifts 9 l", "Diane 155 cm")
我希望提取最后一个数字和后面的文本。我的期望结果如下:
"80 kg" "9 l" "155 cm"
尝试以下正则表达式,其读起来就像要求:
stringr::str_extract(s, "\\d+\\D*$")
你可以使用正则表达式实现这个功能:
sub(".*\\b(\\d+\\s+\\w+)", "\\1", s)
1] "80 kg" "9 l" "155 cm"
stri_extract_last_regex
。stringi::stri_extract_last_regex(s, "\\d+\\s+\\w+")
#[1] "80 kg" "9 l" "155 cm"
regmatches(s, regexpr("\\d+[^0-9]*$", s))
#[1] "80 kg" "9 l" "155 cm"
60kg
的案例,我们就不知道你需要一个。 - camille