python - 使用正则表达式的问题

标签 python python-3.x

我正在尝试在 python 中运行以下代码。

import re
text = 'Hello 16 Hello 22 Hello 81 Hello 50'
sum = 0
for m in re.finditer('Hello', text):
  print('found', m.start(), m.end())
  a = m.end()
  b = m.end()+3
  print (text[a:b])
  block = str(text[a:b])
  sum += block
  print (sum)

我不断收到此错误:

TypeError: unsupported operand type(s) for +=: 'int' and 'str'

我想做的就是让我的代码解析文本并将其中包含的指定数字加在一起。

有人知道我做错了什么吗?

谢谢

最佳答案

您无法将 str 添加到 sum += block 中的 int。您应该首先将 block 转换为 int。换行:

 block = str(text[a:b])

至:

 block = int(text[a:b])

关于python - 使用正则表达式的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32025842/

相关文章:

python - BeautifulSoup FindAll 与 OR 和空类

python - 将 re 中的 € 符号与 python 匹配

python - 选择 Pandas 数据框列

python - 用于 python 广义奇异值分解的 GSVD

python - 从嵌套字典列表中删除重复值

python - 如何将 1D numpy 数组从 keras 层输出更改为图像(3D numpy 数组)

python - 在抓取一个元素的不同位置时如何压缩脚本

python - 将输入的以空格分隔的项目添加到字典中。 Python

python - 如何以年份为频率创建 Pandas DatetimeIndex?

python - 将列添加到没有任何列的数据集