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

如何在Python Pandas中仅移除字符串中带括号的数字?

解决方案

你需要匹配的是括号内仅包含纯数字的部分,之前的正则会匹配所有括号内容,所以才会误删。正确的正则应该限定括号内只能是数字:

import re

# 测试用例
test_cases = [
    "Hello World(4353)",
    "Hello World(ABC)",
    "Satbaulia Khurd(159ds)"
]

# 正确的正则:匹配括号内全是数字的情况
pattern = r'\(\d+\)'
for s in test_cases:
    res = re.sub(pattern, "", s)
    print(f"输入: {s}")
    print(f"输出: {res}\n")

输出结果:

输入: Hello World(4353)
输出: Hello World

输入: Hello World(ABC)
输出: Hello World(ABC)

输入: Satbaulia Khurd(159ds)
输出: Satbaulia Khurd(159ds)

正则说明:

  • \(:匹配左括号(需转义,因为括号在正则中是特殊语法字符)
  • \d+:匹配1个或多个连续数字
  • \):匹配右括号(同样需转义)

这个正则只会精准匹配(纯数字)格式的内容,其他包含非数字字符的括号部分会被完整保留,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:26:06