#region 字符串去除中文
        /// <summary>
        /// 字符串去除中文
        /// </summary>
        /// <returns></returns>
        public string HandleString()
        {
            var str = "123牛4逼5了";
            string retValue = str;
            if (System.Text.RegularExpressions.Regex.IsMatch(str, @"[\u4e00-\u9fa5]"))
            {
                retValue = string.Empty;
                var strsStrings = str.ToCharArray();
                for (int index = 0; index < strsStrings.Length; index++)
                {
                    if (strsStrings[index] >= 0x4e00 && strsStrings[index] <= 0x9fa5)
                    {
                        continue;
                    }
                    retValue += strsStrings[index];
                }
            }
            return retValue;
        }
        #endregion

        #region 判断字符串是否是数字,只针对Int类型,double不行
        /// <summary>
        /// 判断字符串是否是数字,只针对Int类型,double不行
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static bool IsNumber(string s)
        {
            if (string.IsNullOrWhiteSpace(s)) return false;
            const string pattern = "^[0-9]*$";
            Regex rx = new Regex(pattern);
            return rx.IsMatch(s);
        }
        #endregion

        #region 判断字符串是否是 int或double
        /// <summary>
        /// 判断字符串是否是 int或double,为int或double时返回true
        /// 可用于界面上经纬度值判定
        /// </summary>
        /// <param name="strNumber"></param>
        /// <returns></returns>
        public static bool IsIntOrDouble(string strNumber)
        {
            Regex objNotNumberPattern = new Regex("[^0-9.-]");
            Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
            Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
            const string strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
            const string strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
            Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
            return !objNotNumberPattern.IsMatch(strNumber) &&
            !objTwoDotPattern.IsMatch(strNumber) &&
            !objTwoMinusPattern.IsMatch(strNumber) &&
            objNumberPattern.IsMatch(strNumber);
        }
        #endregion

        #region 判断字符是不是汉字
        public bool JudgeChinese()
        {
            string text = "我去";
            bool res = false;
            #region 1、用ASCII码判断( 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,根据这个范围可以判断,具体代码如下:)
            foreach (char t in text)
            {
                if ((int)t > 127)
                    res = true;
            } 
            #endregion
            #region 2、用汉字的 UNICODE 编码范围判断(汉字的 UNICODE 编码范围是4e00-9fbb,根据此范围也可 以判断,具体代码如下)
            foreach (char t in text)
            {
                if (t >= 0x4e00 && t <= 0x9fbb)
                {
                    res = true;
                    break;
                }
            }
            #region 3、用正则表达式判断(用正则表达式判断也是根据汉字的 UNICODE 编码范围判断的,具体代码如下:)
            res = System.Text.RegularExpressions.Regex.IsMatch(text, @"[\u4e00-\u9fbb]+$");
            #endregion
            return res;
            #endregion
        }
        #endregion
#region string的常用使用方法
        1---》字符串的声明:

  1string s = new string(char[] arr)     //根据一个字符数组声明字符串,即将字符字组转化为字符串。

  2string s = new string(char r, int i)    //生成 i 个字符 r 的字符串。

2---》字符串常用的静态方法:

  1、Compare 字符串的比较(按照字典顺序)  

    int result = string.Compare(string str1, string str2);

        当str1 > str2时,返回1

        当str1 = str2时,返回0

        当str1<str2时,返回-1


        string.Compare(string str1, string str2, bool ignoreCase)   //忽略大小写比较

  2、Concat连接方法参数很多,常用的Concat(string str1,string str2);

        string str = string.Concat("w", "e"); //str="we";

  3、Format参数化处理,相当于Console.WriteLine();

    string str = String.Format("今天{0}很热", "天气");//str="今天天气很热";

  4、IsNullOrEmpty判断字符是否为null或者为空,返回值为bool;

    string str1 = "hahha";

        bool b1 = string.IsNullOrEmpty(str);//b1=false;

        string str2 = "";

        bool b2 = string.IsNullOrEmpty(str2);//b2=true;

        string str3 = null;

        bool b3 = string.IsNullOrEmpty(str3);//b3=true;

  5、Join字符串的合并

string.Join(string str, string[] strArr);//将数组strArr中的内容拼接成一个新的字符串,并在对应数组的每两项间添加分隔符str

        string strs = string.Join(",", string[]{"w", "e", "r", "t"});//strs="w,e,r,t";

3---》字符串常用的实例方法:

  1、Contains 判断字符串中是否包含某个字符, 返回bool值。

    string str = "好累呀";

    bool b = str.Contains("");//b=true;

  2、EndsWith和StartsWith 判断是否是已某种字符串开始或者结束


string str = "好大的雨呀";

    bool b1 = str.StartsWith("");//b1=false;

    bool b2-str.EndsWith("");//b2=true;

  3、Equals 比较两个字符串是否相等


string str1 = "asd";

    string str2 = "ert";

    bool b = str1.Equals(str2);  //b=false;

    bool <strName>.Equals(string str, StringComparison.OrdinalIgnoreCase)   //表示不区分大小写

   4、IndexOf 和 LastIndexOf 判断字符串第一次出现(IndexOf)和最后一次出现(LastIndexOf  )的位置,如果没有出现过则返回值为-1

    string str = "今天的雨很大,天很冷";

    int i = str.IndexOf(""); //i=4;

    int i = str.LastIndexOf("");//j=8;

    int m = str.IndexOf("");//m=-1;

   5、Replace 字符串(字符也是可以的)替换,返回新的字符串

string str = "好困呀";

    string s = str.Replace("", "精神");//s="好精神呀";

   6、Insert 插入


在字符串的index位置上插入字符,原来的字符依次后移,变成一个新的字符串

string str = "夜深了";

    string s = str.Insert(1, "已经");//  s="夜已经深了"
   7、Remove删除字符串(字符)

    在字符串中移除从startIndex开始,长度为length的字符串,剩下的字符合为一个新的字符串(<strName> = <strName>.Remove(startIndex, length);)

    string str = "夜已经深了";

    string s = str.Remove(1, 2);//s="夜深了";

   8、Split 将字符串<strName>以sep数组中的字符分割,分割后得到的内容存到一个数组中(string[] <strName>.Split(params char[] sep);)

    string str = "我,真的、好困;呀";

    string[] s = str.Split(new char() { '', '', '' });//s=string[]{"我","真的","好困","呀"};

   9、Substring 截取字符<str>以index开始截取,并截取lenth个字符(string <str>.Substring(index, lenth))


string str = "还在下雨";

    string s = str.Substring(2, 2);//s="下雨";

   10、ToCharArray将字符串转化为字符数组(<string>.ToCharArray())

     string str = "雨已经小了";

    char[] s = str.ToCharArray();//s=char[]{'雨',"已","经","小","了"};

   11、Trim() 出去两边的空格

  string str = "  dd  ";

    string s = str.Trim();//s="dd";

   12、ToUpper(转换为大写)和ToLower(转换为小写)

     string s = "RaSer";

    string s1 = s.ToUpper();//s1="RASER";

    string s2 = s.ToLower();//s2="raser";
    #endregion

 

posted on 2019-08-21 18:23  红磨坊后的白桦树  阅读(160)  评论(0编辑  收藏  举报