C#自定义字符串替换Replace方法实例

2019-12-26 11:50:35刘景俊

  }
     }
     else
     {
  newCharList.Add(originalCharArray[i]);
     }
 }
 else
 {
     newCharList.Add(originalCharArray[i]);
 }
    }

    resultString = string.Join("", newCharList);
    return resultString;
}

 

因为有时间限制的要求,我没有添加注释,不过代码量不算多,逻辑也算简单清晰,没有注释也OK啦,缺点是算法复杂度比较高。下面经过本人同意,转载一下同事Hello Kitty同学对同一问题的实现代码, 也换一种思路来解决同一个问题。代码稍多,也添加了一些附加功能,各种注释也很完备,当然也需要花费更多时间。欢迎大家有兴趣一同讨论此话题! PS:就在刚才还发现了下面代码的一个bug,就当是隐藏彩蛋了!

 

复制代码
public class Replace
{
        /// <summary>
        /// Replace 方法
        /// </summary>
        /// <param name="source">原字符串</param>
        /// <param name="find">需要查找的字符串</param>
        /// <param name="replace">替换的字符串</param>
        /// <returns>最终替换成功的字符串</returns>
        public string Replace(string source, string find, string replace)
        {
            // 要查找的字符串大于原来字符串,则不处理,返回原来字符
            if (find.Length > source.Length)
            {
                return source;
            }

 

            // 记录找到多少次
            int findCount = 0;