Python:如何在字符串拆分中包含分隔符?

我想拆分一个带有多个分隔符的字符串,但是在结果列表中保留分隔符.我认为这是一个有用的事情来做一个解析任何类型的公式的初始步骤,我怀疑有一个很好的Python解决方案.

有人在Java here中提出了类似的问题.

例如,典型的拆分看起来像这样:

>>> s='(twoplusthree)plusfour'
>>> s.split(f, 'plus')
['(two', 'three)', 'four']

但我正在寻找一种很好的方法来添加加回(或保留它):

['(two', 'plus', 'three)', 'plus', 'four']

最终我想为每个运算符和支架做这个,所以如果有办法可以获得

['(', 'two', 'plus', 'three', ')', 'plus', 'four']

一气呵成,然后更好.

你可以用Python的re模块做到这一点.

import re
s='(twoplusthree)plusfour'
list(filter(None, re.split(r"(plus|[()])", s)))

如果只需要迭代器,则可以省略列表.

https://stackoverflow.com/questions/21208223/python-how-can-i-include-the-delimiters-in-a-string-split

转载注明原文:Python:如何在字符串拆分中包含分隔符?