gpt4 book ai didi

python - 从字符串中删除除数字和小数以外的所有内容

转载 作者:行者123 更新时间:2023-12-04 07:57:58 25 4
gpt4 key购买 nike

我正在抓取价格,我想确保价格字符串不包含任何内容,例如:

  • 空格
  • 字母
  • 多于一位小数
  • 逗号等特殊字符

  • 现在我开始做类似的事情:
    def parse_price(price):
    price = price.replace(' ', '')
    price = price.replace(',', '')
    return price
    我不喜欢它的样子。
    允许:
    1.00
    432.32
    32324.03
    不允许:
    $1.00
    3.43
    C$32.55
    £16.43
    324,4343.20

    最佳答案

    这可以用正则表达式很快解决。最简单的方法是这样做:

    import re

    txt = "$23A. 234."
    r = re.compile("[^\d\$\.]")
    x = r.sub('', txt)
    x = re.findall("\$[\d]*\.[\d]*", x)
    print(x)
    这将删除任何非数字、非句点和美元符号的字符。然后使用模式匹配美元符号、数字、句点、美元符号。注意:如果在第一个之后还有更多的时间,它就不会抓取任何东西。我可能会更新以解决此问题,但这现在应该很好。
    编辑:
    为了符合 OP 的标准,这里有一个没有美元符号和两位小数的修订版:
    import re

    txt = "$23A. 234."
    r = re.compile("[^\d\.]")
    x = r.sub('', txt)
    x = re.findall("[\d]*\.\d\d", x)
    print(x)

    关于python - 从字符串中删除除数字和小数以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66606279/

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