带大小写忽略的Replace

       #region 以下函数用于忽略大小写替换操作
        public static string Replace(string Expression, string Find, string Replacement)
        {
            return Replace(Expression, Find, Replacement, StringComparison.OrdinalIgnoreCase);
        }

        public static string Replace(string Expression, string Find, string Replacement, StringComparison Compare)
        {
            if (string.IsNullOrEmpty(Expression) || string.IsNullOrEmpty(Find))
            {
                return Expression;
            }

            int iIndex = 0;
            int length = Expression.Length;
            int iFindLength = Find.Length;

            StringBuilder builder = new StringBuilder(length);

            while (iIndex < length)
            {
                int iFindIndex = Expression.IndexOf(Find, iIndex, Compare);
                if (iFindIndex < 0)
                {
                    builder.Append(Expression.Substring(iIndex));
                    break;
                }
                builder.Append(Expression.Substring(iIndex, iFindIndex - iIndex));
                builder.Append(Replacement);
                iIndex = iFindIndex + iFindLength;
            }
            return builder.ToString();
        }

        #endregion

 

posted @ 2014-01-10 00:57  star丶清影  阅读(3484)  评论(0编辑  收藏  举报