从字符串中提取某些整数,然后对其进行规范化

时间:2019-06-07 00:42:59

标签: python

我希望规范化字符串中的整数。示例:

string = ["There is a discount of 45% on the sales in the shopping mall", "60percent discount will be given to any purchase made"]

我想知道这是否有可能。

a = []
for x in string:
    xsplit = x.split()
    for xx in xsplit:
        if xx.isdigit():
            newxx = xx/100
            a.append(newxx)

我上面的代码非常昂贵,并且循环太多。我希望找到一种方法来实现我的预期输出,同时还能保留较短的代码。那有可能吗?我将在这里继续更新新的测试代码。请帮我。

我收到错误:

unsupported operand type(s) for /: 'str' and 'int'

我的预期输出应该是:

[0.45, 0.6]

1 个答案:

答案 0 :(得分:3)

使用re.findall

import re
res = []
for s in string:
    res.extend(re.findall('\d+', s))
res = [int(r)/100 for r in res]

输出:

[0.45, 0.6]