C#基础_03_字符和字符串

本文详细介绍了C#中的字符和字符串操作,包括Char类的Is和To开头的方法、字符串string的特性、不可变的String类以及常用的字符串操作如比较、截取、分割、插入、填充、删除和替换。此外,还提到了StringBuilder类作为可变字符串在大量修改场景下的高效使用,并对比了StringBuilder与String类的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Char常用方法
注意:以Is和To开头的为重要方法。Is开头的方法大多是判断Unicode字符是否为某个类别,
以To开头的方法主要是转换为其他Unicode字符。

 

示例代码:

            //char c = '.';
            //判断是否为大写
            //Console.WriteLine(char.IsUpper(c));
            //判断是否为小写
            //Console.WriteLine(char.IsLower(c));
            //判断是否为字母
            //Console.WriteLine(char.IsLetter(c));
            //判断是否为+-*/
            //Console.WriteLine(char.IsSymbol(c));
            //判断是否为空格
            //Console.WriteLine(char.IsWhiteSpace(c));

            //判断是否为控制类别(键盘上的:Home,End) 针对与操作系统的
            //Console.WriteLine(char.IsControl(c));
            //判断是否为标点符号
            //Console.WriteLine(char.IsPunctuation(c));

            char s ='a';
            //把string类型转换为char类型
            //string t = "a";
            //Console.WriteLine(char.Parse(t));
            //大写转小写
            //Console.WriteLine(char.ToLower(s));

            //char转换为string
            Console.WriteLine(char.ToString(s));
            //转为大写
            Console.WriteLine(char.ToUpper(s));

           Console.ReadKey();

2.转义字符:

C#采用字符”\”作为转义字符

 

二、String:

  1. 字符串的关键字为string。

它是String类的别名。string类型表示Unicode字符的字符串。
String类类似于string类型,但是功能更强。虽然String类功能很强,但是它也是不可改变的。
这就是说一旦创建String对象,就不能够修改。
表面看来能够修改字符串的所有方法,实际上不能够修改。它们实际上返回一个根据所调用的方法修改的新的String。
当需要大量的修改时,可使用StringBuilder类

1.比较字符串

比较字符串并非比较字符串长度的大小,而是比较字符串在英文字典中的位置
比较字符串按照字典排序的规则,判断;两个字符串的大小。
在英文字典中,前面的单词小于后面的单词

             //Compare方法用来比较两个字符串是否相等。注意用Compare 的结果是数字 等于一就相等
            //比较字符串在英文字典中的位置
            //string a = "a";
            //string b = "b";
            //Console.WriteLine(string.Compare(b, a));
           
            //与Compare相同
            ////Console.WriteLine(a.CompareTo(b));
            //Console.ReadKey();
            
            //获取当前系统时间
            //Console.WriteLine(DateTime.Now);
            
            

Format方法,用于将字符串数据格式化成指定的格式。(一般针对DateTime.Now进行格式化)

用法:

Console.WriteLine(string.Format("{0:f}",DateTime.Now));
Console.WriteLine(string.Format("{0:D}",DateTime.Now));
Console.WriteLine(string.Format("{0:d}",DateTime.Now));

Equals方法:主要用于比较两个字符串是否相等,如果相同返回值为 true,否则为false。
与java用法相同

 

1.截取字符串

SubString方法,该方法可以截取字符串中指定位置和指定长度的字符。
 

            //截取字符串   
            //从下标0开始找,找到第一个后,截取前面的字符串
            string str = "cc.vv";
            Console.WriteLine(str.Substring(0,str.IndexOf('.')));


            //截取出.cc
            int a = str.IndexOf('.');
            ////3-(6-3)=0
            Console.WriteLine(str.Substring(a,str.Length-a));    

            
            //截取出.cc
            // string str = "vv.123.asd.....cc";
            // int a = str.LastIndexOf(".");
            //// Console.WriteLine(a);
            // Console.WriteLine(str.Substring(a, str.Length - a)); 

            Console.ReadKey();

2.分割字符串

Split方法,用于分割字符串。该方法的返回值是包含所有分割子字符串的数组对象,可以通过数组取得所有分割的子字符串。
string str = "vv.123.asd.....cc";
Console.WriteLine(str.Split('.').Length);

3.插入字符串

Insert方法,用于向字符串的任意位置插入新元素。
 

            //Insert插入新的字符串:会产生一个新的string字符串
            //在下标1的位置插入新的字符串
            string str = "vv.123.asd.....cc";
            String s=str.Insert(1, "你好");
            Console.WriteLine(s);
            Console.ReadKey();

4.填充字符串

PadLeft/PadRight 填充字符。
 

            //从下标1开始填充指定字符 直到总长度为10为止
            string str = "vv.1.cc";
            Console.WriteLine(str.PadLeft(10,'c'));

            //在总长度后 填充指定字符 直到总长度
            //string str = ".";
            //Console.WriteLine(str.PadRight(3,'c'));
            
            Console.ReadKey();

5.删除字符串

Remove方法,用于从一个字符串指定位置开始,删除指定数量的字符。
 

            //Remove 删除
            //Remove(0):删除全部
            //Remove(0,2):删除前2个字符串
            string str = "sdfd";
            Console.WriteLine(str.Remove(0,2));
            Console.ReadKey();

6.复制字符串

Copy和CopyTo方法,用于将字符串复制到另外一个字符串或char类型的数组中。
 

            //复制字符串  输出的是复制的字符串
            string str = "sdfd";
            Console.WriteLine(string.Copy(str));
            Console.ReadKey();

7.替换字符串

Replace方法,用于将字符串中的某个字符或者字符串换成其他的字符或者字符串。
 

            string str = "好好学习,天天向上";
            string a = str.Replace("天天", "时时");
            Console.WriteLine(a);
            Console.ReadKey();


 

//7.控制台接收输入(类似“aa @bb”字符串),判断以“@”分割的前后两个字符串是否相等。
            Console.WriteLine("请输(类似“aa@bb”字符串)");
            Console.WriteLine("请输(类似“aa @bb”字符串)");
            string str = Console.ReadLine();
            string s = str.Replace(" ", string.Empty);//去除空格
            int i = s.IndexOf("@");//找到@的下标

            string a = s.Substring(0, 2);
            string b = s.Substring(s.Length - i);

            int e = string.Compare(b, a);//比较他们是否相等
            if (e == 1)
            {
               Console.WriteLine("相等");
            }
            else
            {
                Console.WriteLine("不相等");
            }
            Console.ReadKey();

 

三、StringBuilder:
StringBuilder可变字符串类,存在于System.Text命名空间中,如果要创建StringBilder对象,首先必须引用此命名空间。

 

四、StringBuilder与String类的区别
String对象不可改变的,每次使用Stirng类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。
在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销会非常昂贵。
如果修改字符串而不创建新的对象,则可以使用StirngBuilder类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值