限制标记词的输出范围

2024-10-02 16:31:12 发布

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

我想提取一个文档中的所有名称(first、middle、last),并分别显示前两个完整的名称

我已经尝试了一个嵌套for循环,但是我想不通

for result in classified_text:
    tag_value= result[0],
    tag_name= result[1]
    if tag_name=='PERSON':
           print(''.join([tup for tup in tag_value]))


预期结果:

Steven.K.Lamberson

Steve.I.Blanton

实际结果:

Briazz
Steven
K.
Lamberson
Steve
I.
Blanton
Briazz
Briazz
Proto
Briazz
Moulder
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Cess
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz
Briazz

Tags: namein文档名称forvaluetagresult
1条回答
网友
1楼 · 发布于 2024-10-02 16:31:12

你可以试试:

import re

person=''
last_tag=''
for result in classified_text:
    tag_value= result[0],
    tag_name= result[1]
    if tag_name=='PERSON':
        if last_tag == 'PERSON':
           person += ' ' + tag_value
        else:
           person = tag_value
    else if last_tag == 'PERSON' and re.match('\w+\ \w+\. \w+', person):
           print(person)
    last_tag = tag_value

相关问题 更多 >