Python:拆分由给定对象类型分隔的字符串

时间:2014-04-08 15:35:30

标签: python string split

如何拆分字符串,其中分隔符是Python数据类型?

例如:

str_to_split = 'a1b2c'
str_to_split.split(int)
# ['a','b','c']

2 个答案:

答案 0 :(得分:5)

您可以使用re.split()

>>> import re
>>> thingToSplit = 'a1b2c'
>>> re.split('\d+', thingToSplit)
['a', 'b', 'c']

或者,应用isdigit()检查:

>>> [item for item in thingToSplit if not item.isdigit()]
['a', 'b', 'c']

答案 1 :(得分:3)

您可以使用itertools.groupby,就像这样

from itertools import groupby
print ["".join(g) for k,g in groupby('a1b2c', key=str.isdigit) if not k]
# ['a', 'b', 'c']