1

我有这两行的格式

VP VB go
NP PRP$ your NN left

保存在文本文件中。我想访问这个文本文件,然后在一个新的文本文件中打印以下结果

NP NN left

帮助我如何使用python。

感谢您提前提供任何帮助

4

2 回答 2

1

如果我对你的解释正确,你想要所有的情况

NP NN word

在这种情况下,您可以使用查找 NP、NN 和后续单词的正则表达式:

import re
f = open('file.txt')
regex = r'^(NP).*?(NN) (\w+).*?$'
for line in f:
    try: ' '.join(re.search(regex, line).groups())
    except AttributeError: pass
于 2013-03-16T23:02:01.330 回答
0

编辑:这更好吗?

f=open("myfile")
#read all lines of the file and remove newline characters
a=[i.strip() for i in f.readlines()]
f.close()

for i in a:
  i=i.split()
  n=-1
  try:
    n=i.index("NN")
  except:
    pass
  if n!=-1 and n!=len(i)-1 and i[0]=="NP":
    print i[0], i[n], i[n+1]
于 2013-03-16T22:46:19.360 回答