我需要在每个空格处分割此列表,然后再分割一个数字。不过,数字是列表中的字符串。
data_listtrial[2].split(' ')
['TransAtlantic', 'Petroleum', 'Ltd', '1.57', '99.86']
在上面,我希望“ TransAtlantic”,“ Petroleum”和“ Ltd”最终成为列表中的一个元素。而数据“ 1.57”和“ 99.86”应分别是自己的元素。
在分割空格之前,列表看起来像列表:
('TransAtlantic Petroleum Ltd 1.57 99.86')
我的正则表达式知识缺乏吗?
最好, 鲁道夫
答案 0 :(得分:5)
要在每个空格后跟一个数字分割一个字符串,可以将re.split
与超前模式一起使用:
import re
s = 'TransAtlantic Petroleum Ltd 1.57 99.86'
re.split(r' (?=\d)', s)
这将返回:
['TransAtlantic Petroleum Ltd', '1.57', '99.86']
答案 1 :(得分:3)
只需使用str.rsplit
从右侧拆分,然后指定maxsplit
即可保留公司名称不变>
>>> s = 'TransAtlantic Petroleum Ltd 1.57 99.86'
>>> s.rsplit(maxsplit=2)
['TransAtlantic Petroleum Ltd', '1.57', '99.86']