python - 读取文件行并获取数字前的单词
问题描述
我正在编写代码,在后台打开一个文本文件
f = open(FILENAME, 'r')
我正在寻找写东西的特定行。
文档 1 中的示例:
错误您可以在下部 211547 中找到第 546516547 节中的错误
文档 2 中的示例:
在元素 51423165 中出现错误的文件中断 3215467
所以我需要数字之前的单词。有任何想法吗?一切都会帮助我。谢谢你。
解决方案
迭代每一行并使用下面的列表理解:
>>> 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']
推荐阅读
- java - 从 Activity 获取值到自定义数组适配器
- javascript - 向下滑动时反转滑块
- java - 在 Linux 下安装 DB2 Connect - 发生错误:“AWT-EventQueue-0”java.lang.NullPointerException
- visual-studio-code - 大写变量不再以不同颜色显示
- ios - 视图控制器中的依赖注入
- machine-learning - 如何多次训练 BigQuery ML 模型
- javascript - 无法让输入字段专注于点击
- hadoop - JPS 命令仅显示 JPS
- python - 多索引列 - 选择内部
- angular - 在 Angular 单元测试代码覆盖率报告中包含 HTML 文件