我希望规范化字符串中的整数。示例:
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]
答案 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]