可能重复:
有人有一个好的正确案例算法吗
我目前处于一个不幸的境地,要求我用正确的字符大小写显示作为批处理过程一部分从各种来源(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">
它不会按照你想要的方式处理撇号。