You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用正则表达式删除字符串中点及点之前的数字

你需要的正则模式为 ^\\d+\\.,各部分含义如下:

  • ^ 锚定匹配位置为字符串开头,避免误删字符串中间的数字加小数点组合
  • \\d+ 匹配1个及以上的连续数字,可适配1位、2位甚至更多位数的前缀
  • \\. 匹配数字后紧跟的小数点,.在正则中是特殊通配符,需要用反斜杠转义,R语法中要写两个反斜杠才能识别为转义符

str_remove 属于stringr包,加载tidyverse时会自动附带加载,完整实现代码如下:

# 加载包,仅用dplyr的话可以换成library(tidyverse)
library(stringr)

# 定义原向量
a = c('1.age41_50', '2.age51_60', '3.age61_70', '4.age71_80',
      '5.age1_20', '6.age21_30', '7.age31_40', '8.ageupwith65', '9.agelo65', '10.PM2_5')

# 执行删除操作
a_result <- str_remove(a, pattern = "^\\d+\\.")

执行后打印a_result即可得到你需要的预期输出:

print(a_result)
#  [1] "age41_50"     "age51_60"     "age61_70"     "age71_80"     "age1_20"      "age21_30"    
#  [7] "age31_40"     "ageupwith65"  "agelo65"      "PM2_5"

内容的提问来源于stack exchange,提问作者zhiwei li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:36:07