[英]Extract space separated numbers from string
所以我想从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,我们必须考虑它们之间的空格。
首先,请注意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))
请参阅正则表达式演示。 详情:
\\(
- a (
字符(\\d{1,3}(?:\\s\\d{3})*)
- 第 1 组:
\\d{1,3}
- 一位、两位或三位数字(?:\\s\\d{3})*
- 空格和三位数字出现零次或多次\\)
- a )
字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.