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

如何编写函数删除长字符串中的最后标记段?

字符串移除最后标记的实现方案

方法一:使用rsplit精准拆分

利用字符串的rsplit方法从末尾开始拆分,指定仅拆分1次,直接获取移除最后标记后的内容,这是最贴合需求的方案:

def remove_last_tag(s):
    return s.rsplit(" - ", 1)[0]

# 测试示例
test_str1 = "Data-Example - Details -2 - production"
test_str2 = "Data-Example 2-Details-3 - performance"

print(remove_last_tag(test_str1))  # 输出: Data-Example - Details -2
print(remove_last_tag(test_str2))  # 输出: Data-Example 2-Details-3

rsplit(" - ", 1)只会从字符串末尾找第一个匹配的" - "进行拆分,完全不会影响字符串中间的-(比如Data-Example里的连接符),直接取拆分后的第一个元素就是目标内容。

方法二:正则表达式替换

如果需要更灵活的匹配规则,可以用正则表达式匹配最后一组标记并替换为空:

import re

def remove_last_tag_regex(s):
    return re.sub(r" - [^-]+$", "", s)

# 测试验证
print(remove_last_tag_regex(test_str1))
print(remove_last_tag_regex(test_str2))

正则r" - [^-]+$"会匹配字符串末尾的" - "及后续所有非-的内容,替换为空后即可得到想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:42:00