我有一个很大的XML文件,其中包含实现破折号分隔的命名约定的标记名称。我如何使用C#将标记名称转换为驼峰命名约定?通过C#将破折号分隔的字符串转换为camelCase
规则是: 1。转换所有字符为小写 2.大写的第一个字符每一划线 3.拆下后的所有短划线
例 转换之前
<foo-bar>
<a-b-c></a-b-c>
</foo-bar>
转换后
<fooBar>
<aBC></aBC>
</fooBar>
下面是一个有效的代码示例,但它的处理速度很慢 - 我想有更好的方法来实现我的目标。
string ConvertDashToCamelCase(string input)
{
input = input.ToLower();
char[] ca = input.ToCharArray();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < ca.Length; i++)
{
if(ca[i] == '-')
{
string t = ca[i + 1].ToString().toUpper();
sb.Append(t);
i++;
}
else
{
sb.Append(ca[i].ToString());
}
}
return sb.ToString();
}
提供一些代码,以便我们可以帮助您...我们不会为您完成这项工作。 –
好的 - 代码示例添加到我的OP。正如你所看到的,我蛮横地强迫我穿过人物。此方法有效,但速度很慢。我希望找到更清洁,更快捷的解决方案。 – Jed
可能的重复[http://stackoverflow.com/questions/17186641/...](http://stackoverflow.com/questions/17186641/how-do-i-make-letters-to-uppercase-after-除了在大写字母后删除特殊字符之外,每个特定字符都是一组字符)。 –