Одним из возможных подходов может быть использование регулярного выражения и сопоставление как цифр, так и цифр, которым предшествует отрицательный знак:
s = "12-569-8"
import re
sum(map(int,re.findall(r'(\d|-\d)', s)))
# 5
Другой подход, как упомянуто в комментариях обрезкой, заключается в циклическом символы и либо сложение или вычитание в зависимости от того, что вы найдете:
res = 0
i=0
while i < len(s):
x = s[i]
if x != '-':
res += int(x)
else:
i += 1
res -= int(s[i])
i += 1
print(res)
# 5