Python:使用列表中的分隔符拆分字符串和存储令牌

时间:2015-10-23 18:01:54

标签: python regex string list split

我希望拆分字符串和存储令牌以及列表中的分隔符。我的意思是,我有这样的字符串:

s = "hi,my+dear-friend*1"

我想得到:

["hi", ",", "my", "+", "dear", "-", "friend", "*", "1"]

2 个答案:

答案 0 :(得分:3)

您可以使用正则表达式执行此操作:

import re

s = "hi,my+dear-friend*1"
re.findall(r"\w+|\W",s)

输出:

['hi', ',', 'my', '+', 'dear', '-', 'friend', '*', '1']

答案 1 :(得分:3)

您需要将捕获组与正则表达式一起使用。

>>> import re
>>> s = "hi,my+dear-friend*1"
>>> re.split(r'(\W)', s)
['hi', ',', 'my', '+', 'dear', '-', 'friend', '*', '1']