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

如何用Python的re模块移除字符串末尾含内容的括号?

使用Python re模块移除字符串末尾的括号组

核心思路是用正则表达式精准匹配字符串末尾的带内容括号组(括号前可能有空格),然后将其替换为空。

正则表达式说明

使用的正则模式:r'\s*\([^)]+\)$'

  • \s*:匹配括号前可能存在的0个或多个空格(比如第三个案例里的" (6)")
  • \(:转义匹配左括号(避免被当作正则分组符号)
  • [^)]+:匹配括号内的任意内容(只要不是右括号,保证括号非空)
  • \):转义匹配右括号
  • $:锚定到字符串结尾,确保只处理最后一组括号

代码实现与测试

import re

def clean_filename(filename):
    # 替换末尾的括号组
    return re.sub(r'\s*\([^)]+\)$', '', filename)

# 测试给定案例
test_data = [
    ("test(1)", "test"),
    ("test2(1)", "test2"),
    ("test3(note to self) (6)", "test3(note to self)")
]

for input_name, expected_out in test_data:
    output = clean_filename(input_name)
    print(f"{input_name} → {output} {'✅' if output == expected_out else '❌'}")

运行这段代码后,三个测试案例都会得到预期的结果,既保留了字符串中间的括号内容,又精准移除了末尾的目标括号组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 12:22:04