C#入门 09day--字符串的操作

C#基础篇之字符串

logo.jpg

1.字符串的定义:

​ String str= "字符串"

2.字符串的连接:

​ 字符串的连接可以用:“ + ”连接

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "你好啊,学习要";
            String str2 = "脚踏实地,切勿空谈。";
            String str = str1 + str2;
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str);
            Console.ReadKey();
        }
    }
}

2018-10-10_222129.jpg

3.字符串的比较:

(1)用“==”返回布尔型:

​ str1 == str2 若两字符相等,则返回turn;否则返回false。

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "mirikeji";
            String str2 = "mirikeji";
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str1 == str2);
            Console.ReadKey();
        }
    }
}

2018-10-10_222807.jpg

(2)Compare方法来判断:

​ String.Compare(str1,str2) 返回1;0;-1

1:表示str1 > str2

0:表示str1 = str2

-1:表示str1 < str2

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "mirikeji";
            String str2 = "mirikejz";
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(String.Compare(str1,str1));
            Console.WriteLine(String.Compare(str1, str2));
            Console.WriteLine(String.Compare(str2, str1));
            Console.ReadKey();
        }
    }
}

2018-10-10_223953.jpg

(3)CompareTo方法来实现;

Compare是通过实例化对象来实现。

同样返回三个数值来判断字符串的大小。

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "mirikeji";
            String str2 = "mirikejz";
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str1.CompareTo(str2));
            Console.WriteLine(str1.CompareTo(str1));
            Console.WriteLine(str2.CompareTo(str1));
            Console.ReadKey();
        }
    }
}

2018-10-10_224546.jpg

(4)Equals方法:

返回turn与false 布尔类型

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "mirikeji";
            String str2 = "mirikejz";
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str1.Equals(str1));
            Console.WriteLine(str1.Equals(str2));
            Console.WriteLine(str2.Equals(str1));
            Console.ReadKey();
        }
    }
}

2018-10-10_225256.jpg

4.格式化字符串;

​ {n}对应后面第n个变量。

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "我学习";
            String str2 = "我快乐";
            String str = String.Format("{0},{1}", str1, str2);
            Console.WriteLine(str);
            Console.ReadKey();
           
        }
    }
}

2018-10-10_225947.jpg

5.截取字符串:

Substring(startIndex,length) 方法截取字符。

(1)startIndex:字符串起始位置的索引;

(2)length:截取的字符个数;

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime date = DateTime.Now;//获取系统的当前日期
            String str1 = "我学习我快乐";
            String str2 = "";
            str2 = str1.Substring(1, 4);
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_222417.jpg

6.分割字符:

Split方法:Split(自定义的分割符数组)

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "我学^习我快乐,在浮躁#的今天,一颗!宁静的心";
            char[] sparator = { '^', '#', ',', '!' };//自定义的分割字符数组
            String[] str2 = new String[100];    //定义存放的字符
            str2 = str1.Split(sparator);    //用Split分割字符
            Console.WriteLine(str1);
            for (int i = 0; i < sparator.Length; i++)
                Console.WriteLine("item{0}:{1}",i,str2[i]);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_224014.jpg

7.插入字符:

Insert方法:Insert(startIndex,string var)

(1)starIndex:插入字符的起始位置,索引从0开始。

(2)string var:插入的字符串。

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "一颗宁静的心";
            String str2 = "我学习我快乐,在浮躁的今天,";
            String str3 = str2.Insert(6, str1); //把str1插入到str2成str3
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str3);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_224813.jpg

8.填充字符:

PadLeft:在字符串的左边进行字符的填充。

PadRight:在字符串的右边进行字符的填充。

两个参数:(填充后的长度,填充的字符)

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "*^__^*";
            String str2 = str1.PadLeft(7, '(');//在左边填充‘(’
            String str3 = str2.PadRight(8, ')');//在右边填充‘)’
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str3);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_230000.jpg

9.删除字符串:

Remove方法:Remove(startIndex,count) 删除指定数量的字符。

(1)startIndex:删除的起始位置。

(2)count:删除的字符数。(缺少count就默认删除到最后。)

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "我是中国人我骄傲";
            String str2 = str1.Remove(2,2);//删除“中国”两字
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_230507.jpg

10.复制字符串:

(1)Copy整体复制:

​ Copy(string var)

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "我是中国人我骄傲";
            String str2 = String.Copy(str1);//把str1整体复制到str2
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_231531.jpg

(2)CopyTo部分复制:

​ CopyTo(起始复制位置,目标字符,开始存放的位置,复制的个数)

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "我是中国人我骄傲";
            char[] str2 = new char[100];
            str1.CopyTo(2,str2,2,4);    //str1部分复制到str2
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_232218.jpg

11.替换字符串:

Replace方法:Replace(旧的字符串,新的字符串)

也可以是单个字符。

using System;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            String str1 = "我是中国人我骄傲";
            String str2 = "我学习,我快乐";
            String str3 = str1.Replace("我是","你们也是");//你们也是替换我是
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.WriteLine(str3);
            Console.ReadKey();
           
        }
    }
}

2018-10-13_232904.jpg

12.可变字符类:

可变字符StringBuilder类存在于System.Text命名空间内,需要导入System.Text命名空间。其定义与使用如下:

(1)Append方法:将字符串追加到对象末尾

(2)AppendFormat:自定义变量的格式追加到对象末尾

(3)Insert:将字符添加到指定位置

(4)Remove:移除指定的数量的字符

(5)Replace:用指定的字符代替原来的字符

using System;
using System.Text;
namespace _5._1
{
    class Program
    {
        static void Main(string[] args)
        {
            int Num = 1000;
            StringBuilder LS = new StringBuilder("用一生下载你", 100);//实例化,并其空间是100
            LS.Append("VS 厚德载物");//添加VS 厚德载物
            Console.WriteLine(LS);
            LS.AppendFormat("{0:C}",Num);//以货币格式追加到末尾
            Console.WriteLine(LS);
            LS.Insert(0,"名称:");//在第一个字符位置插入名称:
            Console.WriteLine(LS);
            LS.Remove(15,LS.Length-15);//删除从第15字符位置后的字符
            Console.WriteLine(LS);
            LS.Replace("名称:","一生所爱");//用"一生所爱"替换"名称:"
            Console.WriteLine(LS);
            Console.ReadKey();

        }
    }
}

2018-10-14_212340.jpg

总结:

在频繁操作一字符时,建议使用StringBuilder类,以节省空间,运行效率也快些。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容