【发布时间】:2020-06-21 11:18:10
【问题描述】:
所以我是 Python 新手,我想做以下事情。
我有一个包含一堆看起来像这样的句子的文件:
- [frank bora three](noun) [go](action) level [three hundred sixty](value)
- [jack blad four](noun) [stay](action) level [two hundred eleven](value)
我希望能够重现如下所示的文件:
text:'frank bora three', entityType:'noun'
text:'jack blad four', entityType:'noun'
text:'go', entityType:'action'
text:'stay', entityType:'action'
text:'three hundred sixty', entityType:'value'
text:'two hundred eleven', entityType:'value'
我需要删除第一个连字符,将两个方括号之间的每个文本标识为文本,然后对于它们的 entityType,它将是我们在方括号之间的文本之后的圆括号之间的内容。 另一件事是我们可以有一些不在括号内的词,应该忽略它们。
方法: 我尝试做的第一件事是将所有句子放在一个数组中:
import re
with open('new_file.txt') as f1:
lines = f1.readlines()
array_length = len(lines)
for i in range(array_length):
lines[i]=re.sub(r"\b/-\w+", "", lines[i])
print (lines[0])
之后,我尝试使用 re 删除 hymph,但它对我不起作用,当我尝试打印数组时,hymph 仍然存在。
我希望我的问题很清楚。
提前谢谢你,
【问题讨论】:
-
请发布您尝试过的重新代码,以及它以何种方式不起作用。这是您问题的真正症结所在。
-
通过编辑您的问题添加此重要信息 - 人们并不总是扫描 cmets 以获取更多信息。
-
好的,谢谢。
标签: python python-textprocessing