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

R语言中按条件移除字符串特定数字段的实现方法

解决R中字符串向量的特定替换需求

可以使用R的gsub()函数结合正则表达式完成这个需求,核心是利用负向后行断言确保只替换"prih"之外的下划线间数字部分:

# 定义原始向量
vec <- c("993540002_prih_10_new_10153_2.pdf", "993540002_prih_11_old_13369_3.pdf", "993540002_prih_12_older_18217_4.pdf")

# 执行替换
result <- gsub("(?<!prih)_\\d+_", "_", vec, perl = TRUE)

# 查看结果
result

运行后输出结果如下:

[1] "993540002_prih_10_new_2.pdf"  "993540002_prih_11_old_3.pdf"   "993540002_prih_12_older_4.pdf"

正则表达式说明

  • (?<!prih):负向后行断言,匹配位置的前侧不能是"prih"字符串,避免修改prih_xx_中的数字部分
  • _\\d+_:匹配"下划线+一个或多个数字+下划线"的组合
  • 替换为单个_,从而移除中间的数字序列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:34:58