我有很多字符串,比如

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"

R相关问答推荐

根据shiny 应用程序中的数字输入更改图标 colored颜色

使用对管道内单元格的引用生成新变量

R中具有gggplot 2的Likert图,具有不同的排名水平和显示百分比

使用R中的Shapetime裁剪格栅文件

向gggplot 2中的数据和轴标签添加大写和星号

如何按排序顺序打印一个框架中所有精确的唯一值?

r—绘制相交曲线

IMF IFS数据以R表示

根据列A中的差异变异列,其中行由列B中的相对值标识

方法::slotName如何处理非类、非字符的参数?

QY数据的处理:如何定义QY因素的水平

我如何go 掉盒子图底部的数字?

将多个变量组合成宽格式

我将工作代码重构为一个函数--现在我想不出如何传递轴列参数

在点图上绘制置信度或预测区间ggplot2

按镜像列值自定义行顺序

注释不会绘制在所有ggplot2面上

抽样变换-REXP与RWEIBUR

将仪表板中的值框大小更改为Quarto

如何在给定的环境中找到函数的函数参数?