python中如何在字符串中筛选出数字,然后把数字相加?

如果加号两边都位字符则error
ex1) input your string:

'3dhwid+123+dwq32'
result:3+123+32=158
ex2)input your string:
'123+wqe+we23qe'
result:error

import re
a = input('input your string:\n')
at = re.sub('[^\d\+]', '', a)
try:
    print('result:{}={}'.format(at, eval(at)))
except:
    print('result: error')

追问

大神给跪了 。我想了好久 。不过看不太懂 ,能否解释下呢?(献上双膝)

追答import re
a = input('input your string:\n')
at = re.sub('[^\d\+]', '', a)  #用正则表达式消去输入中的字母
try:
    print('result:{}={}'.format(at, eval(at)))   #eval是自带函数,会帮你算是多少
except:
    print('result: error')  #如果eval报错,表示加号两边都为字符

温馨提示:答案为网友推荐,仅供参考