【问题标题】:Getting two digits from a string in python with regex [closed]使用正则表达式从python中的字符串中获取两位数字[关闭]
【发布时间】:2018-09-08 08:40:50
【问题描述】:

我有多个这样的字符串 90'4 我想从字符串中提取数字并将它们相加得到 94。

我尝试编译模式。

pattern="\d'\d"
re.compile(pattern)

我尝试了 findall 和 match 方法,但没有得到我想要的。

我需要使用 regex 我不能使用 .split()

【问题讨论】:

  • 如果要连续捕获多个数字字符,请使用 \d+ 而不是 \d
  • \d 是一位数字 - 现在查看您的模式和数据 - 使用 regex101.com 进行测试
  • 为什么不直接拆分'上的字符串?
  • 我正在尝试获得一个正则表达式解决方案,因为我认为我将来会需要它。
  • Python: Extract numbers from a string 能解决您的问题吗?

标签: python regex digit


【解决方案1】:

使用\d+findall 提取数字,然后找到它们的总和:

import re

s = "this is 90'4"

numbers = re.findall(r'\d+', s)
print(sum(map(int, numbers)))
# 94

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多