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

R语言:如何移除指定前缀、HD数字字段及.csv后缀提取字符串?

解决方案

针对你的需求,我们可以通过一次正则替换完成所有内容的清理,直接得到目标结果:

代码实现

# 原始字符串向量
x <- c("Euka_20220607_HD1_Swift_121_h3417.csv", "Euka_20220608_HD32_Swift_5426_h87.csv")

# 正则替换所有需要移除的内容
cleaned <- gsub("^Euka_|_HD\\d+|\\.csv$", "", x)

# 输出结果
cleaned

输出结果

[1] "20220607_Swift_121_h3417" "20220608_Swift_5426_h87"

正则说明

正则表达式^Euka_|_HD\\d+|\\.csv$各部分含义:

  • ^Euka_:匹配字符串开头的Euka_
  • _HD\\d+:匹配_ + HD + 一个或多个数字的组合
  • \\.csv$:匹配字符串结尾的.csv后缀
  • |:逻辑或,同时匹配上述三种模式并替换为空

问题原因

你之前的代码只处理了Euka_和.csv后缀,没有匹配并移除HD[\d+]对应的部分,所以结果中仍保留了_HD1这类内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 12:20:14