我想采用驼峰式的类名或枚举名称,并以普通文本显示给用户.我怎样才能以编程方式执行此操作?
样本输入:
MainPageBackgroundColor
预期产量:
主页背景颜色
要么
主页背景颜色
您可以将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".
正则表达式选项:
public static string ToMeaningfulName(this string value)
{
return Regex.Replace(value, "(?!^)([A-Z])", " $1");
}
Run Code Online (Sandbox Code Playgroud)
输入"MainPageBackgroundColor"
输出 - "主页背景颜色"