我想使用-
, +=
, ==
, =
,+
和空格作为分隔符来拆分字符串。我想保留分隔符,除非它是空格。
我尝试使用以下代码来实现这一点:
def tokenize(s):
import re
pattern = re.compile("(\-|\+\=|\=\=|\=|\+)|\s+")
return pattern.split(s)
print(tokenize("hello-+==== =+ there"))
我希望输出是
['hello', '-', '+=', '==', '=', '=', '+', 'there']
然而我得到了
['hello', '-', '', '+=', '', '==', '', '=', '', None, '', '=', '', '+', '', None, 'there']
这几乎是我想要的,除了有很多无关None
的 s 和空字符串。
为什么它会这样,我该如何改变它以获得我想要的?