通过正则表达式拆分数字和文本

时间:2018-04-24 02:58:56

标签: python regex

我希望通过python和regexp将数字和数字分成字符串中的部分。 例如:

string = "this1is2a3string4"
output = my_func(string)

输出为['this','1','is','2','my','3','string','4'] 我发现了一些类似的问题但不是我想要的。 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

您只需使用re.split,只需确保使用捕获组即可删除拆分字符。

另外,我在列表推导中添加了一个检查,以避免在正则表达式匹配第一个或最后一个字符时出现空字符串。

>>> import re
>>> s = "this1is2a3string4"
>>> [i for i in re.split(r'([0-9]+)', s) if i]
['this', '1', 'is', '2', 'a', '3', 'string', '4']