Skip to main content
 首页 » 编程设计

python之python使用正则表达式去除括号中的内容

2025年05月04日33leader

我有一个列表:

['14147618', '(100%)', '6137776', '(43%)', '5943229', '(42%)', '2066613', '(14%)', 'TOTAL'] 

也作为字符串 '14147618 (100%) 6137776 (43%) 5943229 (42%) 2066613 (14%) TOTAL\n'

使用正则表达式,我如何返回:

['14147618', '6137776, '5943229', 2066613'] 

请您参考如下方法:

你根本不需要正则表达式,你可以简单地过滤掉其中只有数字的数据,有了这个列表理解

print [item for item in data if item.isdigit()] 
# ['14147618', '6137776', '5943229', '2066613'] 

或者你也可以使用filter内置函数,像这样

print filter(str.isdigit, data) 
# ['14147618', '6137776', '5943229', '2066613'] 

编辑:如果您将整个数据作为单个字符串,您可以根据空白字符拆分数据,然后使用相同的逻辑

data = '14147618 (100%)   6137776 (43%)   5943229 (42%)   2066613 (14%)  TOTAL\n' 
print [item for item in data.split() if item.isdigit()] 
# ['14147618', '6137776', '5943229', '2066613'] 
print filter(str.isdigit, data.split()) 
# ['14147618', '6137776', '5943229', '2066613']