从名称列表分析全名

2024-10-04 11:27:37 发布

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

我正在使用namesparser从名字列表中提取全名。你知道吗

from namesparser import HumanNames
names = HumanNames('Randy Heimerman, James Durham, Nate Green')
print(names.human_names[0])

Namesparser在大多数情况下都能很好地工作,但是上面的例子已经挂断了。我相信这是因为名字“Randy”包含了“and”,namesparser将其作为分隔符。你知道吗

当我把兰迪的名字移到字符串的末尾时,会打印出正确的名字(詹姆斯·达勒姆)。但是,如果我尝试打印另外两个名称中的任何一个,则返回错误的字符串。你知道吗

有什么办法解决这个问题吗?你知道吗


Tags: 字符串fromimport列表namesgreen名字print
1条回答
网友
1楼 · 发布于 2024-10-04 11:27:37

我想你应该用逗号,作为分隔符。你知道吗

def print_names( name_string ):
    return (name.strip() for name in name_string.split(","))

它的作用是在逗号上拆分字符串,然后去掉尾随空格和前导空格,等等。。。在返回名称数组之前。你知道吗

现在您有了一个名称生成器,可以将其传递到其他对象中,例如:

humans = [HumanName(name) for name in print_names(name_string)]

但话说回来,我不知道你的类人名/人名到底是什么意思,你没有把一个类蔑视。你知道吗

如果您正在查看这个模块:https://pypi.org/project/nameparser/,其中它接受一个由单数名称组成的字符串,那么上面的方法仍然可以正常工作。你知道吗

相关问题 更多 >