gpt4 book ai didi

python - 在Python中使用正则表达式从字符串中提取数字

转载 作者:太空宇宙 更新时间:2023-11-03 20:20:24 24 4
gpt4 key购买 nike

我正在尝试用 Python 编写一个正则表达式,从以下字符串中提取两个数字:

  • (总共发布了 64 个工具;总共使用了 8 个工具)
  • (总共发布了 49 个工具;总共有 13 个工具正在使用)

这用于生成正在使用的工具数量的概述。因此我只需要字符串中的数字。在字符串中,只有“工具”一词会根据工具的数量而变化。我已经尝试了几种解决方案来编译字符串,但很难最终确定我的解决方案。

[...]
regexToolUsage = re.compile(r"\((\S)(\d+)(\S)(\d+)(\d)\)"))

[...]
if ToolUsage != None:
ToolsInTotal = ToolUsage.group(2).strip()
ToolsInUse = ToolUsage.group(4).strip()

我期望输出 64 和 8,但收到以下错误:UnboundLocalError:赋值前引用了局部变量“ToolsInTotal”。

我还尝试了以下表达式:

re.compile(r"(总计)(.+)(已发布;总计)(.+)(使用中)\)")

这会提取“64 个工具”和“8 个工具”,但我只需要数字。我无法添加“工具”一词,因为如果它只是“1 个工具”,则无法识别它。有人可以提供帮助吗?

最佳答案

这是从字符串中获取所有整数的方法:

import re


s = "Total of 64 tools issued; Total of 8 tools in use"

r = re.findall("\d+", s) # 'r' is now ['64', '8']

关于python - 在Python中使用正则表达式从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58198275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com