C#一些字符串操作方法

来源:互联网 发布:淘宝网有多少服务器 编辑:程序博客网 时间:2024/06/05 02:52

 /// <summary>
        /// 判断 oriStr 里是否包含 newStr 中的某个数值,不包含则加进去。
        /// oriStr 、newStr 存储如 "1,23,34,55"
        /// </summary>
        public static string ComcatDistStringArr(string oriStr, string newStr)
        {

            if (ArgumentValidation.IsNotEmptyString(newStr))
            {
                string retStr = String.Empty;
                string[] ret = new string[0];
                if (oriStr != null)
                {
                    ret = oriStr.Split();
                    retStr = oriStr;
                }

                string[] ci = newStr.Split(SplitWord);
                for (int i = 0; i < ci.Length; i++)
                {
                    bool find = false;
                    for (int j = 0; j < ret.Length; j++)
                    {
                        if (ci[i] == ret[j])
                        {
                            find = true;
                            break;
                        }
                    }
                    if (!find)
                        retStr += new string(Utility.SplitWord) + ci[i];
                }
                if (retStr.Length > 0)
                {
                    retStr = retStr.Trim(Utility.SplitWord);
                    retStr = retStr.TrimEnd(Utility.SplitWord);
                    return retStr;
                }
            }
            return oriStr;
        }

 

        /// <summary>
        /// 在基础功能中再加上删除由 delStr 指定的某些数值
        /// </summary>
        /// <param name="oriStr">原来的字符串数组</param>
        /// <param name="addStr">待添加的字符串数组</param>
        /// <param name="delStr">待删除的字符串数组</param>
        /// <returns></returns>
        public static string ComcatDistStringArr(string oriStr, string addStr, string delStr)
        {
            string tmpStr = ComcatDistStringArr(oriStr, addStr);
            if (ArgumentValidation.IsNotEmptyString(tmpStr) && ArgumentValidation.IsNotEmptyString(delStr))
            {
                string retStr = String.Empty;
                string[] ret = new string[0];
                ret = tmpStr.Split(SplitWord);

                string[] ci = delStr.Split(SplitWord);
                for (int i = 0; i < ret.Length; i++)
                {
                    bool find = false;
                    for (int j = 0; j < ci.Length; j++)
                    {
                        if (ci[j] == ret[i])
                        {
                            find = true;
                            break;
                        }
                    }
                    if (!find)
                        retStr += ret[i] + new string(SplitWord);
                }
                return retStr.TrimEnd(SplitWord);
            }
            return tmpStr;
        }

 

        /// <summary>
        /// 检测某个值是否在指定的字符串中存在。
        /// </summary>
        /// <param name="chkStr">待检测值</param>
        /// <param name="strArr">指定的字符串</param>
        /// <returns></returns>
        public static bool ExistInStringArr(string chkStr, string strArr)
        {

            if (ArgumentValidation.IsNotEmptyString(chkStr) && ArgumentValidation.IsNotEmptyString(strArr))
            {
                bool find = false;
                string[] ci = strArr.Split(SplitWord);
                for (int i = 0; i < ci.Length; i++)
                {
                    if (ci[i] == chkStr)
                    {
                        find = true;
                        break;
                    }
                }
                return find;
            }
            return false;
        }

 

        public static void Sort(IList obj)
        {
            if (obj == null)
            {
                return;
            }
            Object tmp;
            for (int i = 0; i < obj.Count; i++)
            {
                //切记,每次都要从第一个开始比。最后的不用再比。
                for (int j = 0; j < obj.Count - i - 1; j++)
                {
                    //对邻接的元素进行比较,如果后面的小,就交换
                    if (((IComparer)obj[j]).Compare(obj[j], (obj[j + 1])) > 0)
                    {
                        tmp = obj[j];
                        obj[j] = obj[j + 1];
                        obj[j + 1] = tmp;
                    }
                }
            }
        }

 

        public static string CleanString(string inputString, int maxLength)
        {

            StringBuilder retVal = new StringBuilder();

            if ((inputString != null) && (inputString != String.Empty))
            {
                inputString = inputString.Trim();

                if (inputString.Length > maxLength)
                    inputString = inputString.Substring(0, maxLength);

                for (int i = 0; i < inputString.Length; i++)
                {
                    switch (inputString[i])
                    {
                        case '"':
                            retVal.Append("&quot;");
                            break;
                        case '<':
                            retVal.Append("&lt;");
                            break;
                        case '>':
                            retVal.Append("&gt;");
                            break;
                        default:
                            retVal.Append(inputString[i]);
                            break;
                    }
                }

                retVal.Replace("'", " ");
            }

            return retVal.ToString();

        }

原创粉丝点击