如何根据python中的字符拆分行?

2024-05-19 23:26:26 发布

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

我最近开始使用Python2.7,我得到一个任务,其中我得到一个文本文件,其中包含用空格分隔的数据。我需要将每一行拆分成只包含一种数据类型的字符串。下面是一个例子:

Bruce Wayne 10012-34321 2016.02.20. 231231
John Doe 10201-11021 2016.01.10. 2310456
Chris Taylor 10001-31021 2015.12.30. 524432
James Michael Kent 10210-41011 2016.02.03. 3235332

我想用名字,身份证,日期,余额来区分他们,但我唯一知道的是分割,我不能真正使用,因为最后一个名字有三个部分,而不是两个部分。在这种情况下,如何根据字符拆分一行?在

感谢任何帮助。在


Tags: 数据字符串名字john例子chris数据类型空格
2条回答

您需要使用^{}并提供最大数量的拆分,如下所示:

>>> s = 'James Michael Kent 10210-41011 2016.02.03. 3235332'
>>> s.rsplit(' ', 3)
['James Michael Kent', '10210-41011', '2016.02.03.', '3235332']

>>> s = 'Chris Taylor 10001-31021 2015.12.30. 524432'
>>> s.rsplit(' ', 3)
['Chris Taylor', '10001-31021', '2015.12.30.', '524432']

您需要的是在“从上一个拆分”创建的列表中查找:

获取详细信息

ln = 'James Michael Kent 10210-41011 2016.02.03. 3235332'
ln.split()[-3:]
['10210-41011', '2016.02.03.', '3235332']
ln = 'Bruce Wayne 10012-34321 2016.02.20. 231231'
ln.split()[-3:]
['10012-34321', '2016.02.20.', '231231']

要获取名称:

^{pr2}$

相关问题 更多 >