你会发现这种方法的关键问题不是技术问题,而是人的问题——不同的人用不同的方式写他们的名字。
事实上,“名”和“姓”的术语本身就有缺陷。
虽然许多混合型家庭使用连字符的姓氏,如Smith Jones,但也有一些家庭只是分别使用两个姓氏,“Smith Jones”,其中两个姓氏都是姓氏。
许多欧洲姓氏有多个部分,如“de Vere”和“van den neiular”。有时这些临时演员有着重要的家族史——例如,数百年前一位国王授予的前缀。
附带问题:我已经正确地为我所指的人使用了这些大写字母-“de”和“van den”不能为某些家庭获得大写字母,但为其他家庭获得大写字母。
相反,许多亚洲文化把姓氏放在首位,因为人们认为家庭比个人更重要。
最后一点——有些人很看重“小”或“大”或“三”——而你的代码不应该把它们当作姓氏。
同时注意到有相当多的人使用的名字不是他们父母给的,我已经成功地使用了以下方案:
全名(通常写给邮件地址);
姓氏;
称为(会话中常用的名称)。
例如:
全名:威廉·盖茨三世;姓氏:盖茨;俗称:比尔
全名:宋莉;姓氏:宋楚瑜;学名:丽莎