Python:字符串中数字求和

1.输入一个字符串,取出这个字符串中所有的数字并求和。每个数字都是独立的,不连续。
现在只知道如何提取字符串中的数字
例如:
(1)s=‘Abc34g8’
for I in s:
I.isdigit()
(2) for I in s :
if I in [0,1,2,3,4,5,6,7,8,9] 计算出结果应该是:15
但是如何将提取出来的数字按照要求进行计算呢?

2.输入一个字符串,取出这个字符串中所有的数字并求和。其中相邻的数字是连续的。
按照这样的方法,计算出来的结果应该是:42
求方法,谢谢大佬!

import re

s='Abc34g8'

ptn = re.compile('\d+')
nums = ptn.findall(s)
y = 0 
for x in nums:
    y += int(x)

print(y)

s = "Abc34g8"
numbers =[]
for l in s:
    if l.isdigit():
        numbers.append(int(l));
print(numbers)
print(sum(numbers))
number = 0;
for n in numbers:
    number += n;
print(number)

输出:

[3, 4, 8]

15

15

import re

s='Abc34g8'

l = re.findall(r'/d',s)

sum=0

for i in l:
    sum+=int(i)