gpt4 book ai didi

Python 正则表达式搜索内部带逗号的 float

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:40 24 4
gpt4 key购买 nike

我有这样的字符串:

a = "opening Balance 25,07,708.33 |Fixed Assets (Furniture)"
b = "|Add: income during the Yr, 5,95,719.92 |0/Balance 55,221.00"
c = "|Les:- Dep@10% 5,522.00 49,699.00"

我只想从列表中的字符串中获取 float 值,例如:

a_l = ["25,07,708.33"]
b_l = ["5,95,719.92" , "55,221.00"]
c_l = ["5,522.00" , "49,699.00"]

我在 python 中使用正则表达式尝试这段代码:

import re
a_l = a[re.search(r'((\d+\,+)+\d+\.\d{2})', a).span()[0]:re.search(r'((\d+\,+)+\d+\.\d{2})', a).span()[1]]
# same for b_l, c_l

我得到的输出如下:

a_l = '25,07,708.33'
b_l = '5,95,719.92'
c_l = '5,522.00'

它只检测第一次出现这种情况,然后忽略其他情况。在不替换其中的逗号的情况下搜索 float 值的正确模式是什么?

最佳答案

你可以简单地做

b = "|Add: income during the Yr, 5,95,719.92 |0/Balance 55,221.00"
import re
a_l = re.findall(r'((?:\d+,+)+\d+\.\d{2})', b)
print a_l

输出:['5,95,719.92', '55,221.00']

关于Python 正则表达式搜索内部带逗号的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51998555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com