python文字列から数値を抽出して和を求める


文字列から数値を抽出
「i 13 love 14 you 520」から13,14520を抽出し、加算加算方法1:
s = "i13love14you520"
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(res)

方法2:
s = "i13love14you520"
new_str = ""  		#        
for ch in s:
	if ch.isdigit():		#       ,      ch     
		new_str += ch
	else:
		new_str += " "
sub_list = new_str.split()
print(sub_list)
ex_str = "+".join(sub_list)	#  join()       
print(eval(ex_str))

方法3:正規表現を用いてモジュールreをインポートする
import re
re_obj = re.compile(r"\d+")		#         
res_list = re_obj.findall(s)		#  findall              
num_list = list(map(int, res_list))		#map  ,               
print(sum(num_list))