python 從字串中提取數字並求和

2021-09-26 07:45:44 字數 1041 閱讀 9727

如從"i13love14you520"中提取出來 13,14,520,然後相加求和

方法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))

從字串中提取數字

下面程式將字串中的連續數字提取出來,並存放到一維陣列中。比如說乙個字串 a284twx234 je3432 把 284 234 3432 這3個連續數字提取出來,分別存放到a 0 a 1 a 2 中。include include include int main buf i 0 sscanf bu...

python從字串中提取數字 filter

my str 123and456 number filter str isdigit,my str number 123456使用正規表示式 import re re.findall r d hello 42 i m a 32 string 30 42 32 30 這也將匹配42 bla42bla。...

python從字串中提取數字 filter

my str 123and456 number filter str.isdigit,my str number 123456 使用正規表示式 import re re.findall r d hello 42 i m a 32 string 30 42 32 30 這也將匹配42bla42bla。...