Stringbuilder replace() - 计算了多少替换?

时间:2016-05-15 01:01:24

标签: replace count stringbuilder

我正在使用C#stringBuilder来替换具有最佳性能的字符串,替换是永不完成而没有通知用户做了多少替换,但是Replace()方法只返回stringBuilder实例,也是我不能找到stringBuilder中的任何方法来帮助计算替换次数。

那么无论如何都要知道有多少替换品? 感谢阅读:)

1 个答案:

答案 0 :(得分:1)

在运行替换之前,只需对字符串进行计数。您必须引入自己的扩展方法或LINQ查询。

示例扩展方法:

public static int OccurencesOf(this string str, string val)
{  
int num_occurrences = 0;
int num_startingIndex = 0;

while ((num_startingIndex = str.IndexOf(val, num_startingIndex)) >= 0) 
{
    ++num_occurrences;
    ++num_startingIndex;
}

return num_occurrences;
}