【发布时间】:2023-03-11 09:41:01
【问题描述】:
如果分隔符是 Python 数据类型,如何拆分字符串?
例如:
str_to_split = 'a1b2c'
str_to_split.split(int)
# ['a','b','c']
【问题讨论】:
如果分隔符是 Python 数据类型,如何拆分字符串?
例如:
str_to_split = 'a1b2c'
str_to_split.split(int)
# ['a','b','c']
【问题讨论】:
你可以使用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']
【讨论】:
你可以使用itertools.groupby,像这样
from itertools import groupby
print ["".join(g) for k,g in groupby('a1b2c', key=str.isdigit) if not k]
# ['a', 'b', 'c']
【讨论】:
groupby('a1b2c', key=str.isdigit) 而不是 lambda。