python - 如何在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 ]
谢谢。
解决方案
正如@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')]
推荐阅读
- sql - sql 在 spark sql 数据帧查询中使用分区
- unicode - 如何为 Unicode 字符串生成一个“幻像”字符串,由相同宽度的空白字符组成?
- javascript - 如何在css中设置不同的url?
- spring - Spring boot 测试错误:java.lang.IllegalArgumentException: Page must not be null
- javascript - 通过点击 Vue 传递 props
- r - 在 R 中创建“数据透视表”,每行填充因子值
- c# - 调用点击后收集表格中的元素,在webBrowser中使用c#
- javascript - 为什么 rxjs 每次都打印一个字符?
- javascript - 如何在 React 中使用 ALERTIFY JS?
- swift - 如何高效查询大型远程数据库