有没有办法识别复合名称并正确地将第一个和第三个字符大写?
虽然使用 CSS 更改大小写是一项微不足道的任务,但在处理复合名称时,我还没有找到任何直接的解决方案。
想到的一件事是使用某种查找来识别名称,例如 LeBare、麦当劳、麦克阿瑟等,然后应用一些逻辑来改变大小写......任何人都知道任何其他可行的解决方案那可能就在那里,所以我不必重新发明轮子(可以这么说)?
注意:用户将直接在文本框中输入这些名称。不能保证用户不会输入类似 mcMinn 或 macArthur 等的内容。话虽如此,我也注意到带有“Le”和“La”前缀的名称(这些名称可能具有拉丁/西类牙根,我可以虽然是错误的)。
最佳答案
在此过程中要记住的一件事是,您还可能遇到“MacArthur”这样的情况,它是第 1 个和第 4 个字符。根据您从何处提取数据(用户输入、数据库等),我会说按原样使用它可能是一种选择。但是,如果名称全部为小写,那么您可能必须编制一个已知名称前缀列表并对其进行检查。我的观点是,除非名称全部小写并显示给用户,否则我将只使用原始格式。
关于c# - 将名字中的第一个和第三个字母大写,例如 McArthur 或 McMinn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14863531/