如何从 Python 中的字符串中提取多个浮点数?

How do I extract multiple float numbers from a string in Python?

regex= '<th scope="row" width="48%">52wk Range:</th><td class="yfnc_tabledata1"><span>(.+?)</span> - <span>(.+?)</span></td>'
    pattern = re.compile(regex)
LBUB = re.findall(pattern,htmltext)

我正在尝试在 Python 中进行基本数据抓取,并对 return 编辑的实数进行一些计算。我展示了该程序的一小段摘录,以便您了解基本概念。我希望它读取 html 文件和 return 某些数字。 问题是实数 return 在这样的字符串变量中编辑...

[('90.77', '134.54')]

我想从变量中提取数字,以便它们可以用作单独的浮点变量。 有谁知道如何从字符串变量中提取两个实数,基本上去掉')],这是在Python 2.7.10

如果你正在获取数组,那么你可以只使用 Float() 函数并将数组索引放入。例如:

    StrFloats = [("90.77","134.54")]
FltNewNums = {}
IntInd = 0
for IntX in range(0,len(StrFloats)):
    for IntY in range(0,len(StrFloats[IntX])):
        FltNewNums[IntInd] = float(StrFloats[IntX][IntY])
        IntInd += 1

然后你在数组中有 float 变量

我不得不做一些改变。忘了元组:/ 这应该有效:)

这看起来像是 map

的工作
list(map(lambda t: (float(t[0]), float(t[1])), LBUB))

为避免转换为浮动时出现 TypeError,您可以使用更窄的捕获组。

类似于:

(\d+\.\d+)

反正,用正则表达式解析HTML一般就是not a good idea.