【发布时间】:2021-12-10 21:25:41
【问题描述】:
所以我想从 python 中的字符串中提取总费率的数量。 假设我有这样的字符串:
str = "National Museum 4.6(1 686), Museum, Green Street 24/26, Some description, Closing: md.. 20:00"
我想提取 4.6 的速率和 1686 的总速率。我通过以下命令设法提取了 4.6:
rate = re.findall("\d{1}[.]\d{1,2}", str)
print(rate)
Out: ['4.6']
但我对总费率有疑问,因为有时该值可能是三位数字,例如没有任何空格的 386,有时它可能是 12 893,我们必须考虑它们之间的空格。
【问题讨论】:
-
试试
\d+[. ]\d+ -
re.findall(r"\((\d{1,3}(?:\s\d{3})*)\)", text)?提取括号内的数字。 -
@WiktorStribiżew 就像一个魅力。谢谢你。我如何在此评论部分给您“最佳答案”?
-
我添加了一个答案。
-
注意
{1}是多余的,即\d{1}等价于\d