【发布时间】:2015-07-07 19:19:50
【问题描述】:
我有一个大型 XML 文件,其中包含实现破折号分隔命名约定的标记名称。如何使用 C# 将标签名称转换为驼峰命名约定?
规则是: 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 中的代码示例。正如你所看到的,我强行通过角色。这种方法有效,但速度很慢。我希望找到一个更清洁、更快捷的解决方案。
-
http://stackoverflow.com/questions/17186641/... 的可能重复项,但大写字母后删除了特殊字符。
标签: c# regex string-conversion