【发布时间】:2020-12-23 13:26:02
【问题描述】:
我正在尝试查找文本中的所有数字并将它们返回到浮点数列表中。
在正文中:
- 逗号用于分隔千位
- 几个连续的数字用逗号和空格隔开
- 数字可以附加到单词
text = "30feet is about 10metre but that's 1 rough estimate several numbers are like 2, 137, and 40 or something big numbers are like 2,137,040 or something"
我需要将输出作为浮点数列表返回,中间有逗号,但没有语音标记。
Eg.
extract_numbers("1, 2, 3, un pasito pa'lante Maria")
is [1.0, 2.0, 3.0]
不幸的是,我当前尝试的输出返回一个字符串:
def extract_numbers(text):
nums = re.findall(r'\b\d{1,3}(?:,\d{3})*(?:\.\d+)?(?!\d)', text)
return (("[{0}]".format(
', '.join(map(str, nums)))))
extract_numbers(TEXT_SAMPLE)
如何返回列表中的数字?
【问题讨论】:
标签: python python-3.x regex extract re