从字符串中提取空格分隔的数字

2024-06-26 00:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想从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,没有任何空格,有时它可能是12893,我们必须考虑两者之间的空格


Tags: 字符串命令street数量rate速率somegreen
1条回答
网友
1楼 · 发布于 2024-06-26 00:17:10

首先,请注意str是Python中内置的,应该避免使用内置名称命名变量

您可以使用

re.findall(r"\((\d{1,3}(?:\s\d{3})*)\)", text)

或者,仅使用re.search获取第一个匹配:

m = re.search(r"\((\d{1,3}(?:\s\d{3})*)\)", text)
if m:
    print(m.group(1))

regex demo详细信息

  • \(-a(字符
  • (\d{1,3}(?:\s\d{3})*)-第1组:
    • \d{1,3}-一位、两位或三位数字
    • (?:\s\d{3})*-零个或更多出现的空白和三个数字
  • \)-a)字符

相关问题 更多 >