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

如何删除字符串中最后一个下划线及其之后的内容?

删除字符串最后一个下划线及后续内容的解决方案

要搞定这个需求,你可以用精准的正则表达式让gsub只定位到最后一个下划线,直接用这段代码:

gsub("_[^_]*$", "", "surname_name_job")

正则逻辑说明

  • _:精准匹配下划线
  • [^_]*:匹配任意非下划线的字符(重复0次或多次,确保只抓最后一个下划线后面的内容)
  • $:锚定到字符串结尾,保证匹配的是最后一段

测试下来,输入surname_name_job会返回surname_name,完全符合你的要求。

你之前用的_.*是贪心匹配,会从第一个下划线开始一直匹配到字符串结尾,所以才会删掉后面所有内容,换成上面的正则就解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:15:31