python - 使用Python正则表达式替换字符串中的多个变量值

标签 python regex

我有一个如下所示的字符串:

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/

相关文章:

javascript - 我如何对 Zapier 进行编码以跟踪电子邮件中提供的链接?

python - 是否有任何 ipdb 打印寻呼机?

regex - 使用前瞻在正则表达式上拆分

regex - 如何从jmeter中的HREF属性中提取数据

python - 从 Pandas 数据帧生成三元组

python - 将 pandas 数据框转换为元组字典

python __getattribute__ 返回类变量属性时出现RecursionError

python - python 中的正则表达式,在字符串中具有可选文本

javascript - 正则表达式查找一段代码中的所有方法

python - 使用正则表达式将数据提取到 Pandas 中的不同列