【C#学习】字符串函数

1,字符串比较

/// <summary>
        /// 字符串比较
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#";
            string str1 = "C#";
            string str2 = "C++";

            /*Compare方法
             * 
             * 返回值:--是一个32位有符号整数。
             *         |--小于零,str1在排序顺序中位于str2之前
             *         |--等于零,位置相同
             *         |--大于零
             */
            Console.WriteLine(string.Compare(str1, str2));
            //Compare方法,忽略大小写(true)
            Console.WriteLine(string.Compare(str0, str1, true));
            Console.WriteLine(string.Compare(str1, str2, true));

            /*CompareTo方法
             * 
             */
            Console.WriteLine(str1.CompareTo(str2));

            /*
             * Equals方法
             * 
             * 返回值:true/false
             */
            Console.WriteLine(str1.Equals(str2));
            Console.WriteLine(string.Equals(str1, str2));


            Console.ReadLine();
        }

2,字符串格式化

/// <summary>
        /// 字符串格式化
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#";
            string str1 = "C#";
            string str2 = "C++";

            /*Format方法
             */
            str0 = string.Format("{0},!{1}!", str1, str2);
            Console.WriteLine(str0);

            /*Format方法在日期中的应用
             * 
             * 格式规范:
             * d    YYYY-MM-dd
             * D    YYYY年MM月dd日
             * t    hh:mm
             * T    hh:mm:ss
             * f    YYYY年MM月dd日 hh:mm
             * F    YYYY年MM月dd日 hh:mm:ss
             * g    YYYY-MM-dd日 hh:mm
             * G    YYYY-MM-dd日 hh:mm:ss
             * M/m  MM月dd日
             * Y/y  YYYY年MM月
             */
            DateTime dt = DateTime.Now;
            string str3 = string.Format("{0:D}", dt);//D是对{0}的规范。
            Console.WriteLine(str3);           
             
             Console.ReadLine();
        }


3,字符串分割

/// <summary>
        /// 字符串分割
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#,哦《C++》啊,c语言";

            /*Split方法
             */
            char[] separater = { ',','》' };//声明分割字符的数组
            string[] str_split = new string[100];//声明一个字符串数组
            str_split = str0.Split(separater);

            for(int i=0; i<str_split.Length; i++){
                
                Console.WriteLine("项{0}:{1}",i,str_split[i]);
            }

             Console.ReadLine();
        }

4,字符串插入和填充

/// <summary>
        /// 字符串插入和填充
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#,c语言";

            /*插入:Insert方法
             */
            string str1 = str0.Insert(4, "JAVA,");
            Console.WriteLine(str1);

            /*填充:PadLeft(A,B)方法、PadRight(A,B)方法
             * A为结果字符串中的字符数,等于原始字符串数加上其他填充字符
             * B为填充字符
             */
            string str2 = "C";
            str2 = str2.PadLeft(6, '+');
            Console.WriteLine(str2);
            str2 = str2.PadRight(9, '#');
            Console.WriteLine(str2);

             Console.ReadLine();
        }

5,字符串删除

/// <summary>
        /// 字符串删除
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#,c语言";

            /*Remove方法
             */
            //从索引2开始删除后面。
            string str1 = str0.Remove(2);
            //从索引2开始,只删除2各字符
            string str2 = str0.Remove(3, 2);
            Console.WriteLine(str1);
            Console.WriteLine(str2);

             Console.ReadLine();
        }

6,字符串复制

/// <summary>
        /// 字符串复制
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#,c语言";

            /*Copy方法
             */
            string str1 = string.Copy(str0);
            Console.WriteLine(str1);

            /*CopyTo方法
             * 
             * 将字符串部分复制到一个数组中
             */
            char[] c = new char[100];
            /*(需要复制的字符串起始位置, 目标字符串数组,指定目标数组中开始存放位置,需要复制的字符数)
             */
            str1.CopyTo(2,c,2,4);
            Console.WriteLine(c);

             Console.ReadLine();
        }


7,字符串替换

/// <summary>
        /// 字符串替换
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string str0 = "c#,c语言";

            /*Replace方法
             */
            string str1 = str0.Replace("#","++");
            Console.WriteLine(str1);           

             Console.ReadLine();
        }


8,可变字符串:StringBuilder

  0)构造函数参数:

               capacity--------起始大小;

    value------------字符串;

   maxCapacity--可包含最大字符数;

   startIndex-------value字符串开始位置;

   length------------子字符串中的字符数

  1)追加

   Append、AppendFormat

  2)移除

   Remove

  3)替换

   Replace

  4)插入

   Insert

  5)增加容量

   Capacity 、EnsureCapacity

  6)与String对比:

   string对象系统开销很大,用StringBuilder类可提升性能(类似JAVA中的StringBuffer)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值