.net – 将人名称解析为其组成部分的简单方法?

.net – 将人名称解析为其组成部分的简单方法?,第1张

概述很多联系人管理程序都这样做 – 你键入一个名称(例如,“约翰·史密斯”),它会自动将其内部分为: 名字:约翰 中间名:W. 姓:史密斯 同样,它阐述了诸如“简·史密斯夫人”和“约翰·多·约翰博士”正确的(假设你允许字段像“前缀”和“后缀”的名称)。 我认为这是一个相当普遍的事情,人们会想做…所以问题是…你会怎么做?有没有一个简单的算法为此?也许是正则表达式? 我在.NET解决方案后,但我不挑剔。 很多联系人管理程序都这样做 – 你键入一个名称(例如,“约翰·史密斯”),它会自动将其内部分为:

名字:约翰
中间名:W.
姓:史密斯@H_404_4@

同样,它阐述了诸如“简·史密斯夫人”和“约翰·多·约翰博士”正确的(假设你允许字段像“前缀”和“后缀”的名称)。@H_404_4@

我认为这是一个相当普遍的事情,人们会想做…所以问题是…你会怎么做?有没有一个简单的算法为此?也许是正则表达式?@H_404_4@

我在.NET解决方案后,但我不挑剔。@H_404_4@

更新:我明白,没有一个简单的解决方案,这涵盖所有边缘情况和文化…但让我们说,为了争论,你需要的名称片断(填写表格 – 如说,税或其他政府表格 – 是一种情况,你必须输入固定字段中的名称,无论你喜欢与否),但你不一定要强迫用户输入他们的名字到离散字段(较少打字=更容易新手用户)。@H_404_4@

你可能想让程序“猜”(尽可能最好的)什么是第一,中间,最后,等等。如果可以,看看Microsoft Outlook如何联系人 – 它让你键入名称,但是,如果你需要澄清,有一个额外的小窗口,你可以打开。我会做同样的事情 – 给用户的窗口,以防他们想输入离散片段的名称 – 但允许在一个框中输入名称,并做一个“最好的猜测”,涵盖最常见的名称。@H_404_4@ 没有简单的解决方案。名称建构因文化而异,甚至在英语世界中,前缀和后缀不一定是名称的一部分。

一个基本的方法是在字符串的开头(例如“Hon。John Doe”)和数字或在结尾处的一些其他字符串(例如,“John Doe IV”,“John Doe Jr.”)查找荣誉,但真正所有你能做的是应用一套启发式和希望最好的。@H_404_4@

可能有用的是找到未处理的名称的列表,并针对它测试您的算法。我不知道有什么预先包装在那里,虽然。@H_404_4@ 总结

以上是内存溢出为你收集整理的.net – 将人名解析为其组成部分的简单方法?全部内容,希望文章能够帮你解决.net – 将人名称解析为其组成部分的简单方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1287215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存