提问人:Deepak Reddy 提问时间:4/28/2023 更新时间:4/28/2023 访问量:50
我想要 python [duplicate] 中字符串中给出的数字总和
I want the sum of numbers given in a string in python [duplicate]
问:
**String1='Deepak25 is awesome5'**
#I 想要数字的总和,即 30 作为输出。
总和=30
String2='我今年 25 岁零 10 个月'总和 = 35'
对于 String2,我使用了字符串拆分方法并计算了 Sum。但是对于 String1,我无法做到这一点。 有没有办法计算总和。
答:
3赞
tstx
4/28/2023
#1
您可以使用正则表达式来查找字符串中的所有整数。
https://www.pythontutorial.net/python-regex/python-regex-findall/ 获得列表
后,将其转换为整数,然后将所有元素
相加 https://www.geeksforgeeks.org/python-converting-all-strings-in-list-to-integers/
import re
String1='Deepak25 is awesome5'
String2='I am 25 years and 10 months old'
#create pattern, only number, any length
p = re.compile('[0-9]+')
#get the list of all match
l = re.findall(p, String2)
#cast to int and sum the list
result = sum([int(x) for x in l])
print(result)
# output : 30 for String 1 | 35 for String2
当然,你必须用它创建一个函数,以一种干净的方式实现它:)
请注意,这不适用于浮点数,您必须修改正则表达式模式
评论
1赞
tstx
4/28/2023
当然,这不会带来任何东西,并且会更加混乱,我会编辑答案。
评论