我有办法将O'reilly转换为O'Reilly吗?

时间:2019-05-27 15:21:17

标签: c# uppercase

我想以标题大小写显示名称,并正确转换带连字符的名称(例如O'Reilly)。

现在,当我使用ToUpperCase函数时,我得到的是“ O'reilly”,这不是我想要的。

这是我正在使用的功能:

@functions
{
    public static class TextConvert
    {
        public static string ToTitleCase(string s)
        {
            s = s.ToLower();
            return Regex.Replace(s, @"(^\w)|(\s\w)",b => b.Value.ToUpper());
        }
    }
}

考虑到O'Reilly这样的案件,我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以尝试。

Person

调用此功能

var titlecase = PrintName("o'riley");

答案 1 :(得分:0)

您不能仅凭技术工具来做到这一点。有些非洲名称根本不以大写字母开头。如您在此实用程序(http://www.johncardinal.com/tmgutil/capitalizenames.htm)中所见,最简单的方法是实际维护一个例外列表,并将您的名字与之匹配。