我是一个菜鸟,我只是在努力,2021正视自己,面对2021!

C#字符串学习笔记

前言:记得我们老师说过一句话,对字符串的学习程度就是当别人打你一拳你知道痛的情况,所以字符串的处理我们必须学的差不多,这几篇博客完全是我的学习过程中记录的笔记,在这里分享一下让很多刚开始学习.net编程的人能够很快的学会怎么处理字符串

  1. string的构造方法

(1) String和string意思一样,只是String是.net FrameWork提供的,而string是C#语言提供的

 (2)字符串是不可变的    

  1. 字符串的方法和常量

(1) 字符串赋初值的三种方法

     string str = "";

     string str1 = string.Empty;

     string str2 = null;

(2)判断字符串是否为空

     Console.WriteLine(string.IsNullOrEmpty(string.Empty));

(3)字符串拘留池(驻留池)

     使用字符串的时候,如果字符串相同,那么所有变量都指向同一个地方

(4)字符串的比较方法

     1)比较两个字符串可以使用==或者Equals

     2)Equals的使用

            ->静态版本  string.Equals(object objA,object objB[,StringComparison com]);

            ->实例版本  str.Equals(object objA);

     3)一个静态的方法 Compare

            ->string.Compare(str1,str2)

                   str1>str2   1

                   str1=str2   0

                   str1<str2   -1

(5)全部转换为小写,或者大写  ToLower,ToUpper

     string str="assdfdSDS";

     str=str.ToUpper();

     Console.WriteLine(str); //全部变成大写输出

(6)去掉两端的空格和指定的元素

     string str=" 1234343 ";

     str=str.Trim();

     1)Trim(params char[] chs)

              string str = "  11154544dfddf4351111  ";

       str = str.Trim(' ', '1');

       Console.WriteLine(str);

      //输出结果:54544dfddf435

(7)字符串的合并和分隔

     1)合并

            string[] str = { "韩迎龙", "李潇絮", "小李飞刀" };

            string s = string.Join("|", str);

            Console.WriteLine(s);

            Console.ReadKey();

     2)分隔

            语法:

                   string[] <string>.Split(params char[] chs)

                   string[] <string>.Split(new char[] chs,StringSplitOptions.RemoveEmpty)

                   string s = "韩迎龙|23|男|女";

                   string[] str = s.Split('|');

                   Console.ReadKey();

(8)判断字符串的长度

     1)语法:<string>.Length;

     2)字符串可以像数组一样使用"下标"访问(索引)

            for(int i=0;i<str.Length;i++)

            {

                   Console.WriteLine(str[i]);

            }

(9)字符串查找

     1)判断是否包含 Contains

            ->语法:bool <string>.Contains(string str);

            ->模拟Contains的实现(很局限)

     2)IndexOf 寻找索引

            ->语法:

                   int <string>.IndexOf(char ch);

                   int <string>.IndexOf(char ch[,int startIndex]);

                   int <string>.IndexOf(string str[,int startIndex]);

                          string str = " 好好学习,天天向上";

                          int indeof = str.IndexOf('向');

            ->模拟MyIndex的算法(很局限)                   

     3)找出字符串中所有的"e"  

(10)LastIndexOf 从右边往左边找

      string str = "32errrwefsfsd";

    int index = str.LastIndexOf('e'); //输出7

(11)子字符串

     1)语法:string <string>.SubString(开始的索引,字符串的长度);

                   string <string>.SubString(开始的索引);

     2)案例:

            string str = @"F:\heima\practice\string.exe";

       int start = str.IndexOf('\\');

       int length = str.IndexOf('\\', start + 1) - start;

       string s = str.Substring(start + 1, length - 1);

     3)跑马灯的效果         

字符串的插入,移除,替换

              1)insert

                     string str = "时间就是一把杀猪刀啊";

            str = str.Insert(0, "世界上");

              2)remove

                     string str = "时间就是一把杀猪刀啊";

            str = str.Remove(0, 2);

              3)replace

                     string str = "时间就是一把杀猪刀啊";

            str = str.Replace("时间", "小贤");

       (13)判断结束和开始

              1)判断字符<string>串是否已某字符串开始或结束

              2)bool <string>.StartsWith(string str);

              3)bool <string>.EndsWith(string str);             

(14)字符串的几个练习题

   1)接收用户输入的字符串,将其中的字符以相反的顺序输出"韩迎龙"->"龙迎韩"

   2)接受用户输入的一句英文,将其中的单词反序输出。"I Love you"->"I evol uoy"

    3)"2012年12月21日"从日期字符串中把年月日分别取出来,打印到控制台     

   4)把csv文件中的联系人的姓名和电话显示出来,简单模拟

     注:首先将一个name.txt结构的文档放在项目的Bin的Debug目录下面,使其代码能够读到这个,里面的结构是"韩迎龙|男|23"

posted @   Kencery  阅读(2093)  评论(5编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
友情链接:初心商城
点击右上角即可分享
微信分享提示