首页 > 解决方案 > 如何使用 str 函数和字符串索引/切片将字符串转换为浮点值?

问题描述

标题可能有点令人困惑,但我的意思是说我有一个字符串s=" text, 7.4,text , 7.2, text,7.6,",我想取出数字7.4 7.2 7.6并将它们转换为浮点数。如何仅使用简单的 str 函数(例如find()字符串索引/切片)来执行此操作?

我试图用它replace()来删除所有的逗号和单词,但我遇到了数字没有间隔的问题:>>7.47.27.6所以我不能转换为浮点数;我不确定如何解释这一点,因为我的字符串间距不一致。谢谢

标签: python

解决方案


当项目无法转换为浮点数时,您可以使用此代码并捕获异常:

l = []
for item in s.split(','):
    try:
        l.append(float(item.strip()))
    except ValueError:
        continue
print(l)
#[7.4, 7.2, 7.6]

推荐阅读