如何处理名称的自动大小写(第一个、最后一个)

本文关键字:大小写 最后一个 第一个 何处理 处理 | 更新日期: 2023-09-27 18:03:57

可能重复:
有人有一个好的正确案例算法吗

我目前处于一个不幸的境地,要求我用正确的字符大小写显示作为批处理过程一部分从各种来源(Excel、Access等(加载的用户的名称。

例如,如果一个名称被加载为"JOHN DOE",它应该显示为"JOHN DOE"。

很明显,像麦当劳、奥莱利、勒布朗等名字很快就会变得非常复杂

在研究这一点时,我能找到的唯一一件事是建议用所有大写字母显示姓名,虽然这种解决方案比显示像麦克唐纳、奥赖利和勒布朗这样的姓名更受欢迎,但我仍然希望确保我已经完成了尽职调查,然后再告诉他们"这就是你所能拥有的"。

有没有任何图书馆(开源或付费(可以帮助适应这种情况?我意识到它很可能不可能是完美的,但如果它能覆盖95~99%的病例,那就可以了。

提前谢谢。

如何处理名称的自动大小写(第一个、最后一个)

您可以查看Perl的NameCase模块,它正是这样做的。

您可以在全球化名称空间中使用TitleCase:

string myName="JOHN QUINCY PUBLIC";系统全球化CultureInfo CultureInfo=系统。线程。线CurrentThread。CurrentCulture;系统全球化TextInfo TextInfo=文化信息。文本信息;string convertedName=textInfo。ToTitleCase(myName.ToLower(((;安慰WriteLine(convertedName(;

将制作"John Quincy Public">

它不会按照你想要的方式处理撇号。