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); }
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|