高效的忽略大小写的字符串替换(Replace)函数
说明
这个代码演示了上述几种方法:要把字符串"中华aBc共和国"中的"abc"替换为"人民",注意:源子字符串是"aBc",要替换的是"abc",这里目的是要测试不区分大小写。
为了测试效率,我特意先把测试字符串累加1000次,然后循环测试1000次。
结果
以下是测试结果:
regexp =1.38308285017339 //这是正则表达式,第4快;
vb =0.525978828344589 //这是引用Microsoft VisualBasic RunTime的,次快;
vbReplace=0.522997341400086 //这就是用reflector改为C#的,最快;
substring =21.8573638474698 //这是string.substring +,最慢
substringB=14.6346693500287 //这是string.substring StringBuilder,次慢,这里凸现了StringBuilder的速度;
这里仅仅是多次测试中的一次,我没有弄平均,大概数字吧,到底是vb快还是reflector的c#快,差不多...
是否应该使用Microsoft VisualBasic RunTime就见仁见智了。
后话
不过装配脑袋指出,“可以使用C++的std::basic_string::replace”实现高效的字符串替换。
资源下载
限于篇幅,具体的代码,请点击这里下载。
[第1页][第2页]