在C#中优化字符串操作
2010-09-30 22:34:50 来源:WEB开发网2、字符串的 Replace() 方法
string input;
/* .... */
input.Replace("\\", "\\\\").Replace("{", "\\{").Replace("}", "\\}");
另一种简单的方法是使用的字符串类型Replace方法,当建立RTF文件,该更换程序将如下:这个易读,简短和干净的,但它并不总是最快的选择。
3、从头编写一个自定义方法
就像前面的情况,我想编写一个定制的方法,完成相同的任务。以下是代码:
static string Escape1(string source, char[] escapeChars, char escape) {
int i = source.IndexOfAny(escapeChars);
while (i != -1) {
source = source.Insert(i, escape.ToString());
i = source.IndexOfAny(escapeChars, i + 2);
}
return source.ToString();
}
第一个参数是输入字符串,第二个是一个被转义字符数组,最后一个参数是转义字符,正如你可能知道,如果你需要做连续许多操作,直接编辑字符串的效率不是很高。StringBuilder类提供了一种有效的方式来编辑字符串,虽然它需要一点时间来初始化一个StringBuilder对象,如果你知道你需要反复编辑字符串,这需要合理的使用StringBuilder。
我创建的另一个种使用StringBuilder方法:
static string Escape2(string source, char[] escapeChars, char escape) {
StringBuilder s = new StringBuilder();
int j = 0;
int i = source.IndexOfAny(escapeChars);
while (i != -1) {
s.Append(source.Substring(j, i - j));
s.Append(escape);
j = i;
i = source.IndexOfAny(escapeChars, j + 1);
}
s.Append(source.Substring(j));
return s.ToString();
}
更多精彩
赞助商链接