我想过滤字符串中的所有“wub” 例如 “wubwubwubIwubwubwubAmwubwubHere” - >我在这里
首先我尝试了re.split(r'wub',string)
,结果是['', '', '', 'I', '', '', 'AM', '', 'Here']
。一些没有元素出现。我必须添加filter
来删除这些无元素。我想知道是否有一种直接的常规快递方法可以过滤所有“wub”而不留下任何元素?
re.split(r'\s+', 'a b c')
- > ['a','b','c']
答案 0 :(得分:1)
您可以使用以下内容进行匹配:
(wub)+
并替换为(space)
答案 1 :(得分:0)
单独的正则表达式无法单独执行此操作。
>>> s = "wubwubwubIwubwubwubAmwubwubHere"
>>> re.sub(r'(?:wub)+', ' ', s).strip()
'I Am Here'
OR
>>> ' '.join(i for i in re.split(r'(?:wub)+', s) if i)
'I Am Here'