首页 > 解决方案 > 读取文件行并获取数字前的单词

问题描述

我正在编写代码,在后台打开一个文本文件

f = open(FILENAME, 'r')

我正在寻找写东西的特定行。

文档 1 中的示例:

错误您可以在下部 211547 中找到第 546516547 节中的错误

文档 2 中的示例:

在元素 51423165 中出现错误的文件中断 3215467

所以我需要数字之前的单词。有任何想法吗?一切都会帮助我。谢谢你。

标签: pythonarrayslist

解决方案


迭代每一行并使用下面的列表理解:

>>> line = 'Error you can find the Error in Section Nose 546516547 in Lower Part 211547'
>>> line = line.split(' ')
>>> [line[i-1] for i, e in enumerate(line) if e.isdigit()]
['Nose', 'Part']

您还可以使用正则表达式:

>>> re.findall(r'([\w]+)\s[0-9]+', line)
['Nose', 'Part']

推荐阅读