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

如何使用tidyverse的str_replace移除字符串下划线前的字符与数字

完全可以用tidyverse生态中stringr包的str_replace()函数实现该需求,核心是通过正则贪婪匹配到最后一个下划线及之前的所有内容,替换为空即可,具体实现代码如下:

# 加载stringr包
library(stringr)

# 构造示例字符向量
char <- c("SRR04_d3_GCTCGGTAAGCACCTCGCCACATA","SRR04_d1_ACTCGGTAAGCACCTCGCCACATA",
          "JH-HL_GCTCGGTAAGCATGTCGCCACATA","HZ04_d5_GCTCGGTAAGCACCTCGCCACATA")

# 执行替换:^.*_ 匹配从字符串开头到最后一个下划线的所有内容,替换为空
result <- str_replace(char, "^.*_", "")

# 输出结果
result

运行后输出结果和需求示例完全一致:

[1] "GCTCGGTAAGCACCTCGCCACATA" "ACTCGGTAAGCACCTCGCCACATA" "GCTCGGTAAGCATGTCGCCACATA"
[4] "GCTCGGTAAGCACCTCGCCACATA"

如果需要严格限定仅删除下划线之前的字母、数字、短横线,避免其他特殊场景匹配误差,也可以将正则调整为^[a-zA-Z0-9\\-]+_,上述示例场景下两种写法效果一致。

内容的提问来源于stack exchange,提问作者Z. Zhang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:18:02