如何以编程方式将CamelCase名称更改为可显示的名称

Lan*_*thy 9 c# string

我想采用驼峰式的类名或枚举名称,并以普通文本显示给用户.我怎样才能以编程方式执行此操作?

样本输入:

MainPageBackgroundColor

预期产量:

主页背景颜色

要么

主页背景颜色

Ree*_*sey 8

您可以将string CamelCase 转换为由空格分隔的可显示字符串:

public static string DisplayCamelCaseString(string camelCase)
{
    List<char> chars = new List<char>();
    chars.Add(camelCase[0]);
    foreach(char c in camelCase.Skip(1))
    {
        if (char.IsUpper(c))
        {
            chars.Add(' ');
            chars.Add(char.ToLower(c));
        }
        else
            chars.Add(c);
    }

    return new string(chars.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

这将从"CamelCase"转换为"Camel case"或"SomeRandomEnumeration"转换为"Some random enumeration".


naw*_*fal 7

正则表达式选项:

public static string ToMeaningfulName(this string value)
{
    return Regex.Replace(value, "(?!^)([A-Z])", " $1");
}
Run Code Online (Sandbox Code Playgroud)

输入"MainPageBackgroundColor"

输出 - "主页背景颜色"