在python中按splitch后面的内容拆分字符串

2024-05-15 18:48:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一根绳子看起来像

s = '1 john 2 james 34 baker 45 discover'

我需要一份清单

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

我开始用regex split来做这个,但没有得到想要的结果

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

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

我猜split不起作用,因为它不返回spliting模式。有什么线索可以用Python的方式做这件事吗


Tags: importre方式模式johnlistregexsplit
2条回答

试试相反的方法。你知道吗

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

您还可以使用非捕获的lookahead。(?=\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']

相关问题 更多 >