2

我正在尝试在不删除分隔符的情况下拆分字符串并且在这样做时遇到了麻烦。我要拆分的字符串是:

'+ {- 9 4} {+ 3 2}'

我想结束

['+', '{- 9 4}', '{+ 3 2}']

但是我尝试过的一切都没有奏效。我正在通过这个stackoverflow帖子寻找答案以及谷歌: Python split() without remove the delimiter

谢谢!

4

1 回答 1

4

re.split 将在捕获时保留分隔符,即用括号括起来:

import re
s = '+ {- 9 4} {+ 3 2}'
p = filter(lambda x: x.strip() != '', re.split("([+{} -])", s)) 

会给你

['+', '{', '-', '9', '4', '}', '{', '+', '3', '2', '}']

哪个,IMO,是您处理嵌套表达式所需要的

于 2013-05-16T04:40:00.723 回答