使用'或' re.split中的条件

时间:2014-10-15 12:56:40

标签: python split

我有一个字符串列表,当找到'y'或'm'时,每个字符串都需要拆分:

mylist = ['3m10y','10y20y','18m2y']

以下项目:

splitlist = [['3m','10y'],['10y','20y'],['18m','2y']]

我正在考虑使用re.split()但是我不能使用'或'条件来告诉函数在找到'm'或'y'时拆分。

任何帮助表示赞赏! 感谢

2 个答案:

答案 0 :(得分:7)

尝试使用findall代替split

>>> re.findall(r'\d+[ym]', '3m10y')
['3m', '10y']

[my]my

答案 1 :(得分:4)

>>> items = re.split(r'(m|y)', '10m2y4m55y55y53m')
>>> items
['10', 'm', '2', 'y', '4', 'm', '55', 'y', '55', 'y', '53', 'm', '']
>>> [''.join(p) for p in zip(items[::2], items[1::2])]
['10m', '2y', '4m', '55y', '55y', '53m']