【问题标题】:appreciate how to find regular expressions?欣赏如何找到正则表达式?
【发布时间】:2014-03-02 17:48:31
【问题描述】:

请帮我获取一个字符串变量的价格。最好使用正则表达式。

import re

qw = 'US $1 719,57'
search = re.search('.*?([\d| |,]*)', qw)
qw = search.group(1)
if qw:
    print(qw)

因此应该能够:

1 719.57

ie: 让数字和符号",",","

【问题讨论】:

  • 简单地说,([\d., ]+)$ 怎么样?

标签: python regex python-3.x


【解决方案1】:

qw.replace('US $' 更容易,它会产生你想要的东西。静态字符串替换几乎总是比正则表达式快。

【讨论】:

    【解决方案2】:

    你可能会使用这样的东西:

    \b\d{1,3}(?: \d{3})*(?:,\d{2})?\b
    

    这将匹配您指定的一些格式,空格作为千​​位分隔符,逗号作为小数点(可选)。

    regex101 demo

    【讨论】:

      【解决方案3】:

      不确定您是否真的表示输入中的 1 之后会有空格。

      qw = 'US $1 719,57'
      qw = re.sub("[^\d,]", "", qw)    
      qw = re.sub(",", ".", qw)
      print qw
      

      输出将是 1719.57 而不是 1 719.57

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多