• c# 基础字符串


    ToLower():得到字符串的小写形式。
    注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()与s=s.ToLower()
    ToUpper():得到字符串的大写形式; Trim()去掉字符串两端的空白。
    s1.Equals(s2, StringComparison.OrdinalIgnoreCase),两个字符串进行比较不区分大小写的比较。
    s1==s2

            
                //练习一: 随机输入你心中想到的一个名字,然后输出它的字符串长度
                //Length:可以得字符串的长度
                Console.WriteLine("请输入你心中想的那个人的名字");
                string name = Console.ReadLine();
                Console.WriteLine("你心中想的人的名字的长度是{0}", name.Length);
                Console.ReadKey();
    
    
                Console.WriteLine("请输入你喜欢的课程");
                string lessonOne = Console.ReadLine();
               // 将字符串转换成大写
                  lessonOne = lessonOne.ToUpper();
               // 将字符串转换成小写形式
                 lessonOne = lessonOne.ToLower();
                Console.WriteLine("请输入你喜欢的课程");
                string lessonTwo = Console.ReadLine();
                //   lessonTwo = lessonTwo.ToUpper();
                //   lessonTwo = lessonTwo.ToLower();
                if (lessonOne.Equals(lessonTwo, StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("你们俩喜欢的课程相同");
                }
                else
                {
                    Console.WriteLine("你们俩喜欢的课程不同");
                }
                Console.ReadKey();
    
    
                string s = "a b   dfd _   +    =  ,,, fdf ";
                //分割字符串Split
                char[] chs = { ' ', '_', '+', '=', ',' };
                string[] str = s.Split(chs, StringSplitOptions.RemoveEmptyEntries);
                Console.ReadKey();
    
    
                //练习:从日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。
                //让用户输入一个日期格式如: 2008 - 01 - 02,你输出你输入的日期为2008年1月2日
    
                string s1 = "2008-08-08";
                //  char[] chs = { '-' };
                string[] date = s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                Console.WriteLine("{0}年{1}月{2}日", date[0], date[1], date[2]);
                Console.ReadKey();
               // 老赵
    
                string str1 = "国家关键人物老赵";
                if (str.Contains("老赵"))
                {
                    str = str.Replace("老赵", "**");
                }
                Console.WriteLine(str);
                Console.ReadKey();
    
    
               // Substring 截取字符串
    
                string str99 = "今天天气好晴朗,处处好风光";
                str = str.Substring(1, 2);
                Console.WriteLine(str);
                Console.ReadKey();
    
                string str88 = "今天天气好晴朗,处处好风光";
                if (str.EndsWith(""))
                {
                    Console.WriteLine("是的");
                }
                else
                {
                    Console.WriteLine("不是的");
                }
                Console.ReadKey();
    
    
                string str0 = "今天天天气好晴朗,天天处天好风光";
                int index = str.IndexOf('', 2);
                Console.WriteLine(index);
                Console.ReadKey();
    
    
                string str77 = "今天天气好晴朗,处处好风光";
                int index66 = str.LastIndexOf('');
                Console.WriteLine(index);
                Console.ReadKey();
    
    
                //LastIndexOf  Substring
                string path = @"c:ac苍de苍fg\fdfdfdfdvfd苍老师苍.wav";
                int index55 = path.LastIndexOf("\");
                path = path.Substring(index + 1);
                Console.WriteLine(path);
                Console.ReadKey();
    
    
    
                string str44 = "            hahahah          ";
                // str = str.Trim();
                //str = str.TrimStart();
                str = str.TrimEnd();
                Console.Write(str);
                Console.ReadKey();
    
                string str33 = "fdsfdsfds";
                if (string.IsNullOrEmpty(str))
                {
                    Console.WriteLine("是的");
                }
                else
                {
                    Console.WriteLine("不是");
                }
                string[] names = { "张三", "李四", "王五", "赵六", "田七" };
                //张三|李四|王五|赵六|田七
                string strNew = string.Join("|", "张三", "李四", "王五", "赵六", "田七");
                Console.WriteLine(strNew);
                Console.ReadKey();
    
    
    
    
            

    字符串的分割(S)
    string[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组;
    string[] Split(char[] separator, StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组
    ( options 取RemoveEmptyEntries的时候移除结果中的空白字符串);

    字符串函数详解
    字符串替换:string Replace(string oldValue, string newValue)将字符串中的出现oldValue的地方替换为newValue。例子:名字替换。
    取子字符串:string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串;
    string Substring(int startIndex, int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。
    bool Contains(string value)判断字符串中是否含有子串value
    bool StartsWith(string value)判断字符串是否以子串value开始;
    bool EndsWith (string value)判断字符串是否以子串value结束;
    int IndexOf(string value):取子串value第一次出现的位置。
    Int IndexOf(string value,int startIndex)

    字符串常用方法:
    StringBuilder 和 String 的区别?(*)
    答:String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会
    。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String
     如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。
    两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的
    工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,
    然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的
    StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。
    当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,
    那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。

    StringBuilder高效的字符串操作
    当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作。
    String 对象是不可变的。 每次使用 System. String 类中的一个方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。 在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常大。 如果要修改字符串而不创建新的对象,则可以使用 System.Text. StringBuilder 类。 例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
    StringBuilder != String//将StringBuilder转换为String.用ToString();
    StringBuilder仅仅是拼接字符串的工具,大多数情况下还需要把StringBuilder转换为String.
    StringBuilder sb = new StringBuilder();
    sb.Append();//追加字符串
    sb.ToString();//把StringBuilder转换为字符串。
    sb.Insert();
    sb.Replace();
    案例:使用程序拼html中的table

  • 相关阅读:
    BZOJ4644 经典傻逼题 (线段树分治+可撤销线性基+Xor)
    CF678E Another Sith Tournament(思维+dp)
    HDU 6511
    HDU6513 Reverse It(容斥+Cnk)
    一篇最浅显易懂的Splay讲解(试问谁能比我的更易懂
    [CTSC2016]时空旅行 (线段树分治+凸壳
    关于dsu on tree 和一些例题 CF 741 D
    关于区间开根号+区间询问
    [FJOI2015]火星商店问题 --线段树分治+可持久化trie
    线段树 关于pushup的技巧
  • 原文地址:https://www.cnblogs.com/liuweiqiang11188/p/6676953.html
Copyright © 2020-2023  润新知