在asp.NET中字符串替换的五种方法 |
本文标签:.NET,字符串替换 1:使用String.Replace函数替换,但不支持大小写 。 2:正则System.Text.Regex替换,用RegExpOption修改是否支持大小写 。 3:在小数据的情况下,使用String.SubString和+可以实现间接替换 。 4:导入MicrosoftVisualBasicRunTime(Microsoft.VisualBasic.DLL)使用Strings.Replace速度很快 。 5:参照反射Reflector.FileDisassembler配合Strings.SplitandStrings.Join等实现,速度同5 。 一下介绍一种算法,类似KMP算法 。有兴趣的参照研究下 。 以下为引用的内容: 复制代码 代码如下: privatestaticstringReplaceEx(stringoriginal, stringpattern,stringreplacement) { intcount,position0,position1; count=position0=position1=0; stringupperString=original.ToUpper(); stringupperPattern=pattern.ToUpper(); intinc=(original.Length/pattern.Length)* (replacement.Length-pattern.Length); char[]chars=newchar[original.Length+Math.Max(0,inc)]; while((position1=upperString.IndexOf(upperPattern, position0))!=-1) { for(inti=position0;i<position1;++i) chars[count++]=original[i]; for(inti=0;i<replacement.Length;++i) chars[count++]=replacement[i]; position0=position1+pattern.Length; } if(position0==0)returnoriginal; for(inti=position0;i<original.Length;++i) chars[count++]=original[i]; returnnewstring(chars,0,count); } |