python2.7命名实体的信息提取

2024-06-06 00:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段文字看起来像:

"<ENAMEX TYPE="PERSON">Edward R. Kimmel</ENAMEX>, one of Admiral <ENAMEX TYPE="PERSON">Jack</ENAMEX>'s two surviving sons and..."

我希望输出如下:

人物爱德华R.金梅尔

人杰克

你知道用正则表达式吗?你知道吗

多谢了


Tags: andoftypeoneperson文字edwardjack
2条回答

只需使用.findall

import re
x = '"<ENAMEX TYPE="PERSON">Edward R. Kimmel</ENAMEX>, one of Admiral <ENAMEX TYPE="PERSON">Jack</ENAMEX>"'
mac = []
mac = re.findall("TYPE=\"PERSON\">(.+?)<",x)


for i in mac:
    print "PERSON "+i

你有没有试过“美苏”?你知道吗

from bs4 import BeautifulSoup
txt = """<ENAMEX TYPE="PERSON">Edward R. Kimmel</ENAMEX>, one of Admiral <ENAMEX TYPE="PERSON">Jack</ENAMEX>'s twosurviving sons and..."""
soup = BeautifulSoup(txt,"html.parser")
for i in soup.findAll(attrs={'type' : 'PERSON'}):
    print(i.text)

相关问题 更多 >