split替换replace提高多字符串替换速度

</pre><pre name="code" class="csharp"> protected string ReplaceArgumentNamePlaceholder(string sentence, string argumentNamePlaceholder, ArgumentQueryParameter argumentQueryParameter)
        {
            if (null == argumentQueryParameter || null==argumentQueryParameter.Parameters)
            {
                return sentence;
            }

            string replaceResult = sentence.Replace(argumentNamePlaceholder,
                string.Join(",", argumentQueryParameter.Parameters.Select(x => x.ParameterName)));
     
            //return sentence.Replace(argumentNamePlaceholder, string.Join(",", argumentQueryParameter.Parameters.Select(x=>x.ParameterName)));
         
            byte[] middleBytes=StringReplacer.Replace(Encoding.ASCII.GetBytes(sentence), Encoding.ASCII.GetBytes(argumentNamePlaceholder),
                Encoding.ASCII.GetBytes(string.Join(",", argumentQueryParameter.Parameters.Select(x => x.ParameterName))));
            //return SplitReplaceString(sentence,argumentNamePlaceholder,  argumentQueryParameter);
           string ByteReplaceResult= System.Text.Encoding.Default.GetString(middleBytes);
         

            return replaceResult;
        }

        protected string SplitReplaceString(string sentence,string oldString, ArgumentQueryParameter replaceString)
        {
            string result="";
            
            string[] resultString = System.Text.RegularExpressions.Regex.Split(sentence,oldString);
            IEnumerable middleEnumerable = resultString.Where((x,index)=>index!=resultString.Length-1).Select(x => x = x + string.Join(",", replaceString.Parameters.Select(y => y.ParameterName)));
            foreach (string index in middleEnumerable)
            {
                result += index;
            }
            result += resultString[resultString.Length - 1];
            return result;

        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值