【发布时间】:2009-08-02 15:10:52
【问题描述】:
我正在进行网站迁移,其中涉及从全名中提取名字和姓氏。鉴于这些是由最终用户创建的,存在各种排列(尽管是英语并且通常不会太奇怪)。大多数情况下,我可以将第一个单词作为名字,将最后一个单词作为姓氏,但偶尔的前缀和后缀有一些例外。在浏览数据并试图了解所有可能的例外情况时,我意识到这是一个常见问题,之前至少已经部分解决了很多次。
在重新发明轮子之前,有没有人有任何对他们有用的正则表达式或有用的代码?性能不是考虑因素,因为这是一次性实用程序。
要处理的典型值:
杰森布里格斯, J.D.史密斯, 约翰·Y·公民, J斯科特迈尔斯, 比尔·杰克布森三世, 约翰·米尔斯先生
更新:虽然是一个常见问题,但典型的解决方案似乎涉及处理大多数情况并手动清理其余情况。
(考虑到这个问题必须经历的频率,我原本希望在那里找到一个实用程序库,但我自己无法通过 Google 找到一个)
【问题讨论】:
-
数据库中有多少个名字?
-
大约 10K,因此使用处理 95% 情况的解决方案进行手动检查仍然是可行的。使用第一个和最后一个词处理了大约 85% 的名称。