如何在Python中从字符串中提取整型值或浮点值?

如何在Python中从字符串中提取整型值或浮点值?,python,shell,numbers,extract,re,Python,Shell,Numbers,Extract,Re,我有一个字符串: s = "abcd 90 96.8% ab" 我想像这样从字符串中提取90和96.8[90,96.8] print(re.findall("\d+", s)) 我试过用正则表达式来做: print(re.findall("\d+\.\d+", s)) 输出:[96.8] print(re.findall("\d+", s)) 输出:[90,96,8] 有谁能告诉我从字符串中提取int和小数

我有一个字符串:

s = "abcd 90 96.8% ab" 
我想像这样从字符串中提取90和96.8
[90,96.8]

print(re.findall("\d+", s))
我试过用正则表达式来做:

print(re.findall("\d+\.\d+", s))
输出:
[96.8]

print(re.findall("\d+", s))
输出:
[90,96,8]


有谁能告诉我从字符串中提取int和小数的解决方案吗?

您可以使用如下for循环:

s = "abcd 90 96.8% ab"
num = []
for n in s.split(): # For every substring in the string separated by a space
    a = ''
    for l in n: # For every character in the substring
        if l.isdigit() or l == '.': # If the character is a number or a decimal poit
            a += l
    if a:
        num.append(a)
print(num)
输出:

['90', '96.8']