我有很多字符串,比如
x <- c("1.22.33.444","11.22.333.4","1e.3e.3444.45", "g.78.in.89")
我只想提取最后一个"."之后出现的字符/数字.就我查看的数据而言,每个字符串中正好有4个段,每个段之间用"."分隔,所以三个"在每一个字符串中.
期望的结果
> x
[1] "444" "4" "45" "89"
我有很多字符串,比如
x <- c("1.22.33.444","11.22.333.4","1e.3e.3444.45", "g.78.in.89")
我只想提取最后一个"."之后出现的字符/数字.就我查看的数据而言,每个字符串中正好有4个段,每个段之间用"."分隔,所以三个"在每一个字符串中.
期望的结果
> x
[1] "444" "4" "45" "89"
一个可能的解决方案,使用stringr::str_extract
:
$
表示字符串的结尾.\\d+
表示一个或多个数字.(?<=\\.)
向后看,判断数字后面是否有点.你可以在以下位置了解更多:Lookahead and lookbehind regex tutorial
library(stringr)
x <- c("1.22.33.444","11.22.333.4","1e.3e.3444.45", "g.78.in.89")
str_extract(x, "(?<=\\.)\\d+$")
#> [1] "444" "4" "45" "89"