通过拆分字符后面的内容拆分python中的字符串

时间:2013-10-18 22:18:17

标签: python regex

我有一个看起来像

的字符串
s = '1 john 2 james 34 baker 45 discover'

我需要一个看起来像的列表

split_list = ['1 john', '2 james', '34 baker', '45 discover']

我开始使用正则表达式拆分来做到这一点,并没有得到所需的结果,

import re
s = '1 john 2 james 34 baker 45 discover'
s = re.split('\d+',s)
print s

['', ' john ', ' james ', ' baker ', ' discover']

我猜分裂不起作用,因为它不会返回分割模式。任何以pythonic方式做到这一点的线索

2 个答案:

答案 0 :(得分:4)

您还可以使用非捕捉前瞻。 (?=\d+)确保空格后面有一个数字,但它不包含在分隔符中。

import re
s = '1 john 2 james 34 baker 45 discover'
s = re.split(' (?=\d+)',s)
print s

['1 john', '2 james', '34 baker', '45 discover']

答案 1 :(得分:2)

尝试相反的方法。

s = re.findall('\d+ \w+',s)