将一个人的姓名分割为名字和姓氏

2024-05-28 20:28:06 发布

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

好吧,基本上我是在问他们的名字 我希望这是一个输入,而不是名字和姓氏。

现在有办法把这个名字分开吗?从“句子”中只取最后一个单词

name = "Thomas Winter"
print name.split() 

而产出的只是“冬天”


Tags: namethomas名字单词句子splitprint办法
3条回答

这是一个相当老的问题,但我发现它到处寻找一个解决方案,从一个globbed-together名称中解析出片段。

http://code.google.com/p/python-nameparser/

你会发现这种方法的关键问题不是技术问题,而是人的问题——不同的人用不同的方式写他们的名字。

事实上,“名”和“姓”的术语本身就有缺陷。

虽然许多混合型家庭使用连字符的姓氏,如Smith Jones,但也有一些家庭只是分别使用两个姓氏,“Smith Jones”,其中两个姓氏都是姓氏。

许多欧洲姓氏有多个部分,如“de Vere”和“van den neiular”。有时这些临时演员有着重要的家族史——例如,数百年前一位国王授予的前缀。

附带问题:我已经正确地为我所指的人使用了这些大写字母-“de”和“van den”不能为某些家庭获得大写字母,但为其他家庭获得大写字母。

相反,许多亚洲文化把姓氏放在首位,因为人们认为家庭比个人更重要。

最后一点——有些人很看重“小”或“大”或“三”——而你的代码不应该把它们当作姓氏。

同时注意到有相当多的人使用的名字不是他们父母给的,我已经成功地使用了以下方案:

全名(通常写给邮件地址); 姓氏; 称为(会话中常用的名称)。

例如:

全名:威廉·盖茨三世;姓氏:盖茨;俗称:比尔

全名:宋莉;姓氏:宋楚瑜;学名:丽莎

试图从一个输入中分离姓名的问题是,对于姓氏中有空格的人,您无法获得完整的姓氏,而且我不相信您能够编写代码来完全管理它。

如果可能的话,我建议你单独问一下名字。

相关问题 更多 >

    热门问题