【问题标题】: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: 让数字和符号",",","
【问题讨论】:
标签:
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