可能重复:
Converting string in C#
我想“camelize”一个字符串,例如:
-
零件/附件->零件/附件
-
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个字符?
谢谢