首页 > 解决方案 > 如何在python中拆分一串字母两个数字和一个数字?

问题描述

我正在尝试获取具有以下结构的值列表:字数编号数字部分正好有两个数字,第二个有浮动值。这是一个例子

abcd 01 23,456,789 efgh 01 23,456,789

这是我目前的模式:

re.findall("([a-zá-úA-Z]+)([0-9,.][0-9,.])([0-9,.]+)"

但它不起作用。只要给我 []

结果是:

[ abcd 01 23,456,789, 
efgh 01 23,456,789 ]

谢谢。

标签: pythonregex

解决方案


正如@Scott Hunter在评论中提到的那样,您忘记了空间。只需添加它们即可完成工作。

以下正则表达式不假定固定长度,它更健壮一些。

import re

data = "abcd 01 23,456,789 efgh 01 23,456,789"

output = re.findall("([a-zá-úA-Z]+)\s(\d+)\s(\d+[,]\d+[,]\d+)", data)

print(output)
# [('abcd', '01', '23,456,789'), ('efgh', '01', '23,456,789')]

推荐阅读