我想以标题大小写显示名称,并正确转换带连字符的名称(例如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这样的案件,我该怎么办?
答案 0 :(得分:1)
您可以尝试。
Person
调用此功能
var titlecase = PrintName("o'riley");
答案 1 :(得分:0)
您不能仅凭技术工具来做到这一点。有些非洲名称根本不以大写字母开头。如您在此实用程序(http://www.johncardinal.com/tmgutil/capitalizenames.htm)中所见,最简单的方法是实际维护一个例外列表,并将您的名字与之匹配。