Python 仅删除字符串中括号之间的数字

Python 仅删除字符串中括号之间的数字,python,Python,我有字符串,我只需要删除括号内的数字(也要删除括号) 由此: str = "1.25 (10), 1.5 (148), 1.25 (24)" 为此: "1.25, 1.5, 1.25" 尝试: 重新导入 x=“1.25(10)、1.5(148)、1.25(24)” x=re.sub(r'\s*\(\d+\)\s*','',x) 产出: >x 1.25, 1.5, 1.25 使用: 回答: 1.25,1.5,1.25 欢迎来到堆栈溢出 您可以像这样

我有字符串,我只需要删除括号内的数字(也要删除括号) 由此:

str = "1.25 (10), 1.5 (148), 1.25 (24)"
为此:

"1.25, 1.5, 1.25"
尝试:

重新导入
x=“1.25(10)、1.5(148)、1.25(24)”
x=re.sub(r'\s*\(\d+\)\s*','',x)
产出:

>x
1.25, 1.5, 1.25
使用:

回答:

1.25,1.5,1.25 

欢迎来到堆栈溢出

您可以像这样使用正则表达式:

import re
str = "1.25 (10), 1.5 (148), 1.25 (24)"
new_str = re.sub("\s\([0-9.]+\)", "", str)

regex命令查找以空格开头的模式,后跟括号内的数字,并将其替换为空字符串。

我尝试将括号和项目放在括号内,然后将其删除



也许快速解释正则表达式的组件会有所帮助?\s*表示多了一个空格,\d+表示至少一个数字。所以我希望通过这些你能理解这个表达背后的逻辑。因此,每当你找到一个具有这种形式的子字符串时,它就会用一个空字符串替换它(子字符串)。Cheers@Sai Screenivas-就是这样!这回答了你的问题吗?
import re
str = "1.25 (10), 1.5 (148), 1.25 (24)"
new_str = re.sub("\s\([0-9.]+\)", "", str)
import re

string = "1.25 (10), 1.5 (148), 1.25 (24)"
txt = string.split(',')
clear = ''
for i in txt:
    clear += re.sub('\(.*\)', '', i)

print(clear.replace('  ', ', '))