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

如何提取rownames中最后一个|后的字符串?附已有匹配指定符号前内容的代码

提取最后一个|后的字符串解决方案

嘿,这个需求很容易搞定,而且思路和你现有的代码逻辑是相通的!

你需要的是匹配最后一个|之前的所有内容,然后把它们替换为空,这样就能得到|之后的目标部分了。正则里的.*是贪婪匹配模式,会自动找到最后一个符合条件的分隔符,刚好能满足你的需求。

实现代码

# 定义示例输入
x <- "d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Chromatiales|f__Woeseiaceae|g__Woeseia"

# 提取最后一个|之后的字符串
result <- gsub(".*\\|", "", x)
print(result)

输出结果

[1] "g__Woeseia"

代码解释

  • .*\\|:.*匹配任意数量的任意字符(贪婪模式确保定位到最后一个|),\\|是转义后的竖线符号(因为|在正则里是特殊字符,必须用反斜杠转义才能表示普通的竖线)。
  • 将匹配到的这部分内容替换为空字符串,剩下的就是最后一个|之后的目标内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:30:26