python如何提取字符串数字并求和

如s=zxc111vgd222
结果应为111+222=333
应该怎么写?

代码如下
有帮助望采纳

import re
s = 'zxc111vgd222'
sum = 0
for num in re.findall('\d+', s):
    sum += int(num)
print(sum)
s = "zxc111vgd222"
new_str = ""          #创建一个空字符串
for ch in s:
    if ch.isdigit():        #字符串中的方法,可以直接判断ch是否是数字
        new_str += ch
    else:
        new_str += " "
sub_list = new_str.split()   #对新的字符串切片
num_list = list(map(int, sub_list))     #map方法,使列表中的元素按照指定方式转变
res  =sum(num_list)
print(sub_list[0]+'+'+sub_list[1]+'=',end='')
print(res)

img

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

import re

s = "zxc111vgd222"
li = re.findall(r'\d+',s)
res=sum(map(int,li))
print(res)