我有一个看起来像这样的字符串:

1080p [2.1GB] 720p [1.3GB] 480p [500MB]


在Python中,我想用[x]替换所有,。我已经试过这段代码:

import re
s1 = '1080p [2.1GB] 720p [1.3GB] 480p [500MB]'
s2 = re.sub("[(.*?)]", ", ", s1)


但是,我得到以下输出:1080p [2, 1GB] 720p [1, 3GB] 480p [500MB]

相反,我想获得类似1080p, 720p, 480p的东西。

最佳答案

您可以使用re.split

>>> s1 = '1080p [2.1GB] 720p [1.3GB] 480p [500MB]'
>>> ', '.join(i for i in re.split(r'\s*\[[^\]]*\]\s*', s1) if i)
'1080p, 720p, 480p'

关于python - 使用Python正则表达式替换字符串中的多个变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31339179/

10-12 22:02