c# 字符串基础和方法及 stringbuilder

一、char数组与字符串转化

 //将字符串单个元素转换成char数组
            char[] Mychar= Mystring.ToCharArray();
            //将char数组转换成字符串
            string THenewstring = new string(Mychar);

二、stringbuilder使用

 

 static void Main(string[] args)
        {
            //stringbuilder仅用一块内存进行字符串操作,速度快,占用小,适用于大量字符串运算
            StringBuilder Mybuilder = new StringBuilder();
            for (int i = 0; i < 10000; i++)
            {
                Mybuilder.Append(i);
            }

            //需tostring转换为字符串
            Console.WriteLine(Mybuilder.ToString());
          

            Console.ReadKey();
        }

 

三、字符串方法

 五、字符串练习

 

 static void Main(string[] args)
        {
            //一:字符串的查找 indexof, lastindexof 没有返回-1 
            string newlesson = "新课程abc";
            int index = newlesson.IndexOf("abc");
            int lastindex = newlesson.LastIndexOf("c");
            Console.WriteLine($"{index},{lastindex}");  //3,5

            //二:字符串比较 equals
            string lesson1 = "wode";
            string lesson2 = "nide";
            if (lesson1.Equals(lesson2, StringComparison.OrdinalIgnoreCase))//枚举属性控制忽略大小写
            {
                Console.WriteLine("两个不同");
            }

            //三:字符串的分割  split
            string example = "a, ,b,c,d,e-g s *a";
            char[] seperator = { ',', '-', ' ' };//分割列表
                                                 //替换后,原先位置默认为空,枚举属性使返回数组去空
            string[] newexample = example.Split(seperator, StringSplitOptions.RemoveEmptyEntries);
                 //两种写法,下面这种可以临时声明char数组
            string[] newexample2 = example.Split(new char[] { ',', '-', ' ' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (var item in newexample)
            {
                Console.WriteLine(item);
            }
                 // 练习:从2008-08-02转换成年月日格式
            string times = "2008-08-08";
            string[] newtimes = times.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine($"{newtimes[0]}年{newtimes[1]}月{newtimes[2]}日");

            //四:字符串的替换 replace
            string rawstrings = "草泥马我要吃饭了";
            string newreplece = rawstrings.Replace("草泥马", "***");
            Console.WriteLine(newreplece); //输出:***我要吃饭了
             string raw2 = raw.Replace(" ",""); //去空格,重要!

            //五:字符串的截取 substring
            string newstrings = "c#是最好的语言!abc";
            Console.WriteLine(newstrings.Substring(1, 6));//输出:#是最好的语
              //从右侧截取:substring 只能正截取,不能从后面截取,用split分割成数组,
                     //分割符被空格填充,下标取值
            int month =Convert.ToInt32(comboBox2.SelectedItem.ToString().Split(new char[]{'月'})[0]);
            int year = Convert.ToInt32(comboBox1.SelectedItem.ToString().Split(new char[] {'年'})[0]);

            //六:字符串的判断
            string newstringss = "c#是最好的语言!abc";
              //1.判断是否空string.Empty ,是否NULL :IsNullOrEmpty
            if (newstringss != string.Empty)
            {
                Console.WriteLine("非空");
            }
              //2.是否包含contains
            if (newstringss.Contains("c#"))
            {
                Console.WriteLine("包含");
            }
              //3.是否以开始、以结束(startswith、endswith)
            if (newstringss.StartsWith("c#"))
            {
                Console.WriteLine("以c#开始");
            }    
            else if(newstringss.EndsWith("abc"))
            {
                Console.WriteLine("以abc结束");
            }
            //七:字符串去除首尾空格和特定首尾char[],trim,trimstart,trimend
            string test = "  ab c - f-";
            char[] trimchar = { ' ', '-' };
            string newtest=test.Trim(trimchar);
            Console.WriteLine(newtest);//结果: "abc - f-"

            //八:字符串的大小写转换 toupper,tolower

            //九:字符串的数组连接
            string[] names = { "a", "b", "c" };
            string newnames=String.Join("-", names);
            string newnames2 = String.Join("-", "wo", "ni");//不定params参数
            Console.WriteLine($"{newnames},{newnames2}");//a-b-c,wo-ni


            Console.ReadKey();
        }

 

  

 

posted @ 2021-02-25 20:14  遥月  阅读(411)  评论(0)    收藏  举报