改进字符串化方法

时间:2010-06-24 21:50:02

标签: c#

  

可能重复:
  Converting string in C#

我想“追踪”一个字符串,例如:

  • 零件/服务 - >零件/配件
  • HELLO WORLD / TEST - > Hello World / Test
  • Hello World - > Hello World

这是我到目前为止所拥有的:

  public static string Camelize(this string str)
    {
        if (String.IsNullOrEmpty(str)) return "";

        var sb = new StringBuilder();
        char[] chars = str.ToLower().ToCharArray();
        bool upper = true;            
        // ' ', '-', '.', '/'
        for (int i = 0; i < chars.Length; ++i)
        {
            char c = chars[i];
            if (i == 0 || //First char 
                chars[i - 1] == ' ' ||
                chars[i - 1] == '-' ||
                chars[i - 1] == '.' ||
                chars[i - 1] == '/'
                ) upper = true;

            if (upper)             
                sb.Append(Char.ToUpper(c));                
            else                
                sb.Append(c);

            upper = false;
        }
        return sb.ToString();
    }

有没有办法改进这种方法,我也知道字符串不会超过250个字符? 感谢

1 个答案:

答案 0 :(得分:14)

怎么样:

    public static string Camelize(string text)
    {
        return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text.ToLower());
    }