我需要一个函数,该函数需要一个字符串并将其“小写”。下一个单词是一个新单词开始的唯一指示。以下是一些需要清除的示例字符串:

  • price_old =>应该是PriceOld
  • rank_old =>应该是RankOld

  • 我开始研究使第一个字符变为大写的函数:
    public string FirstCharacterUpper(string value)
    {
     if (value == null || value.Length == 0)
      return string.Empty;
     if (value.Length == 1)
      return value.ToUpper();
     var firstChar = value.Substring(0, 1).ToUpper();
     return firstChar + value.Substring(1, value.Length - 1);
    }
    

    上面的函数不执行的操作是删除下划线,并在下划线右侧添加字符“ToUpper”。

    另外,关于如何自动缩放不包含任何指示符的字符串的任何想法(例如下划线)。例如:
  • companysource
  • Financialtrend
  • accountingchangetype

  • 这里的主要挑战是确定一个单词的结尾和另一个单词的起点。我想我需要某种查找字典来确定新单词从哪里开始?我们已经有图书馆在做这种事情吗?

    谢谢,

    保罗

    最佳答案

    您可以使用TextInfo.ToTitleCase方法,然后删除“_”字符。

    因此,使用扩展方法,我得到了:

    http://theburningmonk.com/2010/08/dotnet-tips-string-totitlecase-extension-methods

    您可以这样做:

    var s = "price_old";
    s.ToTitleCase().Replace("_", string.Empty);
    

    08-26 14:47