中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

C#自定義的字符串操作增強(qiáng)類(lèi)

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
這個(gè)C#類(lèi)在C#自由的字符串操作類(lèi)的基礎(chǔ)上進(jìn)行的大幅度增強(qiáng),把我們平時(shí)可能用到的字符串操作都做進(jìn)去了,字符串的處理我想大部分編程都不可避免,有了這個(gè)類(lèi),可以節(jié)省你很多時(shí)間,同時(shí)可以根據(jù)自己的需要對(duì)這個(gè)C#字符串類(lèi)進(jìn)行擴(kuò)展。
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace DotNet.Utilities
{
    /// <summary>
    /// 字符串操作類(lèi)
    /// 1、GetStrArray(string str, char speater, bool toLower)  把字符串按照分隔符轉(zhuǎn)換成 List
    /// 2、GetStrArray(string str) 把字符串轉(zhuǎn) 按照, 分割 換為數(shù)據(jù)
    /// 3、GetArrayStr(List list, string speater) 把 List 按照分隔符組裝成 string
    /// 4、GetArrayStr(List list)  得到數(shù)組列表以逗號(hào)分隔的字符串
    /// 5、GetArrayValueStr(Dictionary<int, int> list)得到數(shù)組列表以逗號(hào)分隔的字符串
    /// 6、DelLastComma(string str)刪除最后結(jié)尾的一個(gè)逗號(hào)
    /// 7、DelLastChar(string str, string strchar)刪除最后結(jié)尾的指定字符后的字符
    /// 8、ToSBC(string input)轉(zhuǎn)全角的函數(shù)(SBC case)
    /// 9、ToDBC(string input)轉(zhuǎn)半角的函數(shù)(SBC case)
    /// 10、GetSubStringList(string o_str, char sepeater)把字符串按照指定分隔符裝成 List 去除重復(fù)
    /// 11、GetCleanStyle(string StrList, string SplitString)將字符串樣式轉(zhuǎn)換為純字符串
    /// 12、GetNewStyle(string StrList, string NewStyle, string SplitString, out string Error)將字符串轉(zhuǎn)換為新樣式
    /// 13、SplitMulti(string str, string splitstr)分割字符串
    /// 14、SqlSafeString(string String, bool IsDel)
    /// </summary>
    public class StringPlus
    {
        /// <summary>
        /// 把字符串按照分隔符轉(zhuǎn)換成 List
        /// </summary>
        /// <param name="str">源字符串</param>
        /// <param name="speater">分隔符</param>
        /// <param name="toLower">是否轉(zhuǎn)換為小寫(xiě)</param>
        /// <returns></returns>
        public static List<string> GetStrArray(string str, char speater, bool toLower)
        {
            List<string> list = new List<string>();
            string[] ss = str.Split(speater);
            foreach (string s in ss)
            {
                if (!string.IsNullOrEmpty(s) && s != speater.ToString())
                {
                    string strVal = s;
                    if (toLower)
                    {
                        strVal = s.ToLower();
                    }
                    list.Add(strVal);
                }
            }
            return list;
        }
        /// <summary>
        /// 把字符串轉(zhuǎn) 按照, 分割 換為數(shù)據(jù)
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string[] GetStrArray(string str)
        {
            return str.Split(new Char[] { ',' });
        }
        /// <summary>
        /// 把 List<string> 按照分隔符組裝成 string
        /// </summary>
        /// <param name="list"></param>
        /// <param name="speater"></param>
        /// <returns></returns>
        public static string GetArrayStr(List<string> list, string speater)
        {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < list.Count; i++)
            {
                if (i == list.Count - 1)
                {
                    sb.Append(list[i]);
                }
                else
                {
                    sb.Append(list[i]);
                    sb.Append(speater);
                }
            }
            return sb.ToString();
        }
        /// <summary>
        /// 得到數(shù)組列表以逗號(hào)分隔的字符串
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public static string GetArrayStr(List<int> list)
        {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < list.Count; i++)
            {
                if (i == list.Count - 1)
                {
                    sb.Append(list[i].ToString());
                }
                else
                {
                    sb.Append(list[i]);
                    sb.Append(",");
                }
            }
            return sb.ToString();
        }
        /// <summary>
        /// 得到數(shù)組列表以逗號(hào)分隔的字符串
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public static string GetArrayValueStr(Dictionary<int, int> list)
        {
            StringBuilder sb = new StringBuilder();
            foreach (KeyValuePair<int, int> kvp in list)
            {
                sb.Append(kvp.Value + ",");
            }
            if (list.Count > 0)
            {
                return DelLastComma(sb.ToString());
            }
            else
            {
                return "";
            }
        }


        #region 刪除最后一個(gè)字符之后的字符

        /// <summary>
        /// 刪除最后結(jié)尾的一個(gè)逗號(hào)
        /// </summary>
        public static string DelLastComma(string str)
        {
            return str.Substring(0, str.LastIndexOf(","));
        }

        /// <summary>
        /// 刪除最后結(jié)尾的指定字符后的字符
        /// </summary>
        public static string DelLastChar(string str, string strchar)
        {
            return str.Substring(0, str.LastIndexOf(strchar));
        }

        #endregion




        /// <summary>
        /// 轉(zhuǎn)全角的函數(shù)(SBC case)
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static string ToSBC(string input)
        {
            //半角轉(zhuǎn)全角:
            char[] c = input.ToCharArray();
            for (int i = 0; i < c.Length; i++)
            {
                if (c[i] == 32)
                {
                    c[i] = (char)12288;
                    continue;
                }
                if (c[i] < 127)
                    c[i] = (char)(c[i] + 65248);
            }
            return new string(c);
        }

        /// <summary>
        ///  轉(zhuǎn)半角的函數(shù)(SBC case)
        /// </summary>
        /// <param name="input">輸入</param>
        /// <returns></returns>
        public static string ToDBC(string input)
        {
            char[] c = input.ToCharArray();
            for (int i = 0; i < c.Length; i++)
            {
                if (c[i] == 12288)
                {
                    c[i] = (char)32;
                    continue;
                }
                if (c[i] > 65280 && c[i] < 65375)
                    c[i] = (char)(c[i] - 65248);
            }
            return new string(c);
        }

        /// <summary>
        /// 把字符串按照指定分隔符裝成 List 去除重復(fù)
        /// </summary>
        /// <param name="o_str"></param>
        /// <param name="sepeater"></param>
        /// <returns></returns>
        public static List<string> GetSubStringList(string o_str, char sepeater)
        {
            List<string> list = new List<string>();
            string[] ss = o_str.Split(sepeater);
            foreach (string s in ss)
            {
                if (!string.IsNullOrEmpty(s) && s != sepeater.ToString())
                {
                    list.Add(s);
                }
            }
            return list;
        }


        #region 將字符串樣式轉(zhuǎn)換為純字符串
        /// <summary>
        ///  將字符串樣式轉(zhuǎn)換為純字符串
        /// </summary>
        /// <param name="StrList"></param>
        /// <param name="SplitString"></param>
        /// <returns></returns>
        public static string GetCleanStyle(string StrList, string SplitString)
        {
            string RetrunValue = "";
            //如果為空,返回空值
            if (StrList == null)
            {
                RetrunValue = "";
            }
            else
            {
                //返回去掉分隔符
                string NewString = "";
                NewString = StrList.Replace(SplitString, "");
                RetrunValue = NewString;
            }
            return RetrunValue;
        }
        #endregion

        #region 將字符串轉(zhuǎn)換為新樣式
        /// <summary>
        /// 將字符串轉(zhuǎn)換為新樣式
        /// </summary>
        /// <param name="StrList"></param>
        /// <param name="NewStyle"></param>
        /// <param name="SplitString"></param>
        /// <param name="Error"></param>
        /// <returns></returns>
        public static string GetNewStyle(string StrList, string NewStyle, string SplitString, out string Error)
        {
            string ReturnValue = "";
            //如果輸入空值,返回空,并給出錯(cuò)誤提示
            if (StrList == null)
            {
                ReturnValue = "";
                Error = "請(qǐng)輸入需要?jiǎng)澐指袷降淖址?quot;;
            }
            else
            {
                //檢查傳入的字符串長(zhǎng)度和樣式是否匹配,如果不匹配,則說(shuō)明使用錯(cuò)誤。給出錯(cuò)誤信息并返回空值
                int strListLength = StrList.Length;
                int NewStyleLength = GetCleanStyle(NewStyle, SplitString).Length;
                if (strListLength != NewStyleLength)
                {
                    ReturnValue = "";
                    Error = "樣式格式的長(zhǎng)度與輸入的字符長(zhǎng)度不符,請(qǐng)重新輸入";
                }
                else
                {
                    //檢查新樣式中分隔符的位置
                    string Lengstr = "";
                    for (int i = 0; i < NewStyle.Length; i++)
                    {
                        if (NewStyle.Substring(i, 1) == SplitString)
                        {
                            Lengstr = Lengstr + "," + i;
                        }
                    }
                    if (Lengstr != "")
                    {
                        Lengstr = Lengstr.Substring(1);
                    }
                    //將分隔符放在新樣式中的位置
                    string[] str = Lengstr.Split(',');
                    foreach (string bb in str)
                    {
                        StrList = StrList.Insert(int.Parse(bb), SplitString);
                    }
                    //給出最后的結(jié)果
                    ReturnValue = StrList;
                    //因?yàn)槭钦5妮敵觯瑳](méi)有錯(cuò)誤
                    Error = "";
                }
            }
            return ReturnValue;
        }
        #endregion

        /// <summary>
        /// 分割字符串
        /// </summary>
        /// <param name="str"></param>
        /// <param name="splitstr"></param>
        /// <returns></returns>
        public static string[] SplitMulti(string str, string splitstr)
        {
            string[] strArray = null;
            if ((str != null) && (str != ""))
            {
                strArray = new Regex(splitstr).Split(str);
            }
            return strArray;
        }
        public static string SqlSafeString(string String, bool IsDel)
        {
            if (IsDel)
            {
                String = String.Replace("'", "");
                String = String.Replace("\"", "");
                return String;
            }
            String = String.Replace("'", "&#39;");
            String = String.Replace("\"", "&#34;");
            return String;
        }

        #region 獲取正確的Id,如果不是正整數(shù),返回0
        /// <summary>
        /// 獲取正確的Id,如果不是正整數(shù),返回0
        /// </summary>
        /// <param name="_value"></param>
        /// <returns>返回正確的整數(shù)ID,失敗返回0</returns>
        public static int StrToId(string _value)
        {
            if (IsNumberId(_value))
                return int.Parse(_value);
            else
                return 0;
        }
        #endregion
        #region 檢查一個(gè)字符串是否是純數(shù)字構(gòu)成的,一般用于查詢(xún)字符串參數(shù)的有效性驗(yàn)證。
        /// <summary>
        /// 檢查一個(gè)字符串是否是純數(shù)字構(gòu)成的,一般用于查詢(xún)字符串參數(shù)的有效性驗(yàn)證。(0除外)
        /// </summary>
        /// <param name="_value">需驗(yàn)證的字符串。。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsNumberId(string _value)
        {
            return QuickValidate("^[1-9]*[0-9]*$", _value);
        }
        #endregion
        #region 快速驗(yàn)證一個(gè)字符串是否符合指定的正則表達(dá)式。
        /// <summary>
        /// 快速驗(yàn)證一個(gè)字符串是否符合指定的正則表達(dá)式。
        /// </summary>
        /// <param name="_express">正則表達(dá)式的內(nèi)容。</param>
        /// <param name="_value">需驗(yàn)證的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool QuickValidate(string _express, string _value)
        {
            if (_value == null) return false;
            Regex myRegex = new Regex(_express);
            if (_value.Length == 0)
            {
                return false;
            }
            return myRegex.IsMatch(_value);
        }
        #endregion
    }
}

 

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀(guān)點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:C#驗(yàn)證一個(gè)字符串是否符合指定的正則表達(dá)式

下一篇:JavaScript清除左空格/右空格,判斷是否以某個(gè)字符串開(kāi)頭