格式字符串.NETC#

格式字符串.NETC#,.net,string,.net,String,如何对此字符串执行以下格式 串 请于周一联系我们 转换为: 联系信息星期一 基本上做以下几件事: 将第一个字符设为大写(我对 (即) 删除下划线并仅替换每个u(下一个字母) 下一个字母的大写字母 谢谢您可以将字符串按“\u”字符拆分。在那之后,一切都是下坡路。分割字符串: var s = "contact_informaton_monday"; var final = ""; foreach (var split in s.Split('_')) final += split.Subst

如何对此字符串执行以下格式

串 请于周一联系我们

转换为: 联系信息星期一

基本上做以下几件事:

  • 将第一个字符设为大写(我对 (即)
  • 删除下划线并仅替换每个u(下一个字母) 下一个字母的大写字母

  • 谢谢

    您可以将字符串按“\u”字符拆分。在那之后,一切都是下坡路。

    分割字符串:

    var s = "contact_informaton_monday";
    var final = "";
    foreach (var split in s.Split('_'))
        final += split.Substring(0, 1).ToUpper() + split.Substring(1);
    
    或正则表达式:

    var s = "contact_informaton_monday";
    s = Regex.Replace(s, @"(\b|_)[a-z]", e => e.Value.ToUpper());
    s = Regex.Replace(s, "_", "");
    // s=ContactInformationMonday
    
    像这样的

    var str = "contact_informaton_monday";
    var sb = new StringBuilder();
    foreach(var s in str.Split("_"))
    {
        sb.Append(s.Substring(0, 1).toUpper());
        sb.Append(s.Substring(1));
    }
    str = sb.ToString();
    

    请始终向我们展示您的工作以及您遇到的困难。例如,这会起作用,但
    ToTitleCase
    不会大写诸如和等单词的首字母。@Ash Burlaczenko,(备注部分)
    var textInfo = new CultureInfo("en-US", false).TextInfo;
    var input = "contact_informaton_monday";
    var output = string.Concat(
        input.Split('_').Select(i => textInfo.ToTitleCase(i))
    );
    
    var str = "contact_informaton_monday";
    var sb = new StringBuilder();
    foreach(var s in str.Split("_"))
    {
        sb.Append(s.Substring(0, 1).toUpper());
        sb.Append(s.Substring(1));
    }
    str = sb.ToString();
    
    string outputWord = "";
    string word = "contact_informaton_monday";
    foreach (var s in word.Split('_'))
    {
         outputWord += s.Substring(0, 1).ToUpper() + s.Substring(1);
    }