首页 > 解决方案 > re.sub 多次替换两个特定字符之间的子字符串

问题描述

s给定如下字符串but,我想ball多次删除子字符串:

s = 'I like sport, but I don\'t like football; I like sport, but I don\'t like basketball'
re.sub('but.*ball', '', s, flags=re.MULTILINE)

出去:

'I like sport, '

我怎么能得到这样的预期结果:

'I like sport, I like sport'

标签: pythonpython-3.xregexstringre

解决方案


尝试添加一个问号:

>>> re.sub('but.*?ball|[,;]', '', s, flags=re.MULTILINE).strip()
'I like sport  I like sport'
>>> 

推荐阅读