You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中计算含连写数字的字符串内数字之和的方法

Python提取字符串中数字求和的通用方法

对于你遇到的字符串中数字与字母拼接的情况,用split()方法确实无法直接提取数字,推荐使用正则表达式来实现通用的数字求和逻辑——不管数字是单独存在还是和字母连在一起都能处理。

实现思路

  • 使用正则表达式匹配字符串中所有连续的数字序列(\d+ 表示匹配1个或多个数字)
  • 将匹配到的字符串形式的数字转换为整数
  • 对所有整数求和

代码示例

import re

def sum_numbers_in_string(s):
    # 提取所有数字序列
    numbers = re.findall(r'\d+', s)
    # 转换为整数并求和
    return sum(int(num) for num in numbers)

# 测试String1
String1 = 'Deepak25 is awesome5'
print(sum_numbers_in_string(String1))  # 输出30

# 测试String2
String2 = 'I am 25 years and 10 months old'
print(sum_numbers_in_string(String2))  # 输出35

为什么split()处理不了String1?

split()默认按空格分割字符串,String1分割后会得到['Deepak25', 'is', 'awesome5'],其中数字和字母连在一起,无法直接分离出数字;而正则表达式\d+可以直接定位所有数字片段,不管它和什么字符相邻。

内容的提问来源于stack exchange,提问作者Deepak Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:02:02