C#一些字符串操作方法

    技术2022-05-19  19

     /// <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(""");                            break;                        case '<':                            retVal.Append("<");                            break;                        case '>':                            retVal.Append(">");                            break;                        default:                            retVal.Append(inputString[i]);                            break;                    }                }

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

                return retVal.ToString();

            }


    最新回复(0)