首页 > 解决方案 > 如何使用 Python 获取文本中的值 [n]?

问题描述

text = {

1

title(1)

context(1)

2

title(2)

context(2)



...



n

title(n)

context(n)

}

如果您只能读取数字字符串以获取文本文件中的最后一个值 [n],或者如果您可以获取整个列中的最大值 [n],或者以任何其他方式,我将不胜感激。上下文可以是多行,并且可以包含大量数字,因此请从计算中排除上下文行。

因为我是初学者,如果您用功能而不是文字来描述它,我将非常感激。

标签: pythontext

解决方案


如果你知道只有单个数字的行是你感兴趣的,你可以使用正则表达式re库。

假设text包含您的全文作为字符串

import re

all_numbers = re.findall(r'(?m)^\d+$', text)
last_number = int(all_numbers[-1])
highest_number = max(int(n) for n in all_numbers)

正则表达式的快速解释r'(?m)^\d+$'

  • (?m)设置re.M[ULTILINE]标志,以便text单独处理中的行
  • ^通常匹配整个字符串的开头,但使用re.M标志,它匹配一行的开头
  • \d+匹配一个或多个十进制数,相当于[0-9]+
  • $通常匹配整个字符串的结尾,但使用re.M标志,它匹配一行的结尾

推荐阅读