gpt4 book ai didi

Python:去除除数字以外的所有内容

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:25 26 4
gpt4 key购买 nike

我必须从几个字符串中的每一个中提取一个数字(一个测量的时间值)。我怎么能优雅地做到这一点?所有数字均为正数且最多保留两位小数。 (例如:2.3/40.09/101.4 - E 表示法中没有数字)。我正在寻找的代码应该执行类似于以下伪代码的操作:

>>> "It took 2.3 seconds".strip(everything but ".1234567890")
2.3

最佳答案

用正则表达式选择数字而不是 strip :

import re

numbers = re.compile(r'\d+(?:\.\d+)?')
numbers.findall("It took 2.3 seconds")

演示:

>>> import re
>>> numbers = re.compile(r'\d+(?:\.\d+)?')
>>> numbers.findall("It took 2.3 seconds")
['2.3']

这将返回所有匹配项的列表;这也让您可以在一个字符串中找到多个数字:

>>> numbers.findall("It took between 2.3 and 42.31 seconds")
['2.3', '42.31']

关于Python:去除除数字以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com