C# 之 String类常用方法汇总

news/2024/7/23 11:06:13 标签: c#, 开发语言, 前端

1.Equals方法

Equals方法有多种重载方式,实现按照一定规则确定两个String实例是否具有相同的值。

 String str1 = "Czhenya"; String str2 = "czhenya";

 //参数是object类型 Console.WriteLine(str1.Equals(str2));           //输出:False // 比较str1和str2 Console.WriteLine(String.Equals(str1,str2));    //输出:False // 比较str1和str2不区分大小写 Console.WriteLine(String.Equals(str1,str2,      StringComparison.OrdinalIgnoreCase));  //输出:True

2.Concat方法

Concat方法有多种重载方式,实现对指定的字符串或对象的连接操作。

  String s1 = "C";  String s2 = "Zhen";  String s3 = "Ya";  String s4 = "_CSDN";  // 这种写法最多支持连接四个字符串  Console.WriteLine(String.Concat(s1, s2));           //输出:CZhen            Console.WriteLine(String.Concat(s1, s2, s3, s4));   //输出:CZhenYa_CSDN  // 还有三个object为参数类型的重载  Console.WriteLine(String.Concat(s1, 1, '2', 0.3f)); //输出:C120.3

  // 连接字符串数组  String[] strArr = { "A", "BC", "DEF", "GH", "IJKL" };  Console.WriteLine(String.Concat(strArr));     //输出:ABCDEFGHIJKL

3.Contains方法

返回一个bool值,该值指示指定的 String 对象是否出现在此字符串中。

 String str1 = "Czhenya"; String str2 = "Czhenya_CSDN";

 // str1是否包含str2 (区分大小写)  --> 或者理解为str2是否是str1的字串 Console.WriteLine(str1.Contains(str2));     //输出:False Console.WriteLine(str2.Contains(str1));     //输出:True // 参数是char类型的重载 Console.WriteLine(str1.Contains('c'));     //输出:False Console.WriteLine(str1.Contains('C'));     //输出:True

4.StartsWith和EndsWith方法

返回一个Boolean值,确定此字符串实例的开始/结尾是否与指定的字符串匹配。

 String str1 = "Czhenya"; String str2 = "Czhenya_CSDN";  //str1是否是以str2开始的 Console.WriteLine(str1.StartsWith(str2));     //输出:False Console.WriteLine(str1.StartsWith('C'));      //输出:True

 Console.WriteLine(str2.StartsWith(str1));     //输出:True Console.WriteLine(str2.StartsWith('c'));      //输出:False

5.Compare方法

Compare方法有多种重载方式,实现对两个字符串按照指定规则、指定范围的比较操作,方法返回值为一个整数,用以描述两个字符串的排序中的相对位置。

String str1 = "czhenya";String str2 = "Czhenya_CSDN";

//参数:字符串1,字符串2,是否区分大小写Console.WriteLine(String.Compare(str1, str2));       //输出:-1Console.WriteLine(String.Compare(str1, str2, true)); //输出:-1

//参数:字符串1,str1开始索引,字符串2,str2开始索引,比较长度,是否区分大小写Console.WriteLine(String.Compare(str1, 0, str2, 0, 7));       //输出:-1Console.WriteLine(String.Compare(str1, 0, str2, 0, 7, true)); //输出:0

6.ToLower 方法和ToUpper方法

将字符串中字符转变为小写形式,或转换为大写形式。

  String str1 = "Czhenya";  String str2 = "czhenya";    Console.WriteLine(str1.ToLower());    //输出:czhenya  Console.WriteLine(str2.ToUpper());    //输出:CZHENYA

7.Substring方法

Substring有两种重载方式,实现按照指定起始位置和指定长度对字符串取子串的功能。

 String str1 = "Czhenya"; //参数:开始索引 Console.WriteLine(str1.Substring(2));     //输出:henya //参数:开始索引,截取长度 Console.WriteLine(str1.Substring(0, 2));  //输出:Cz

8.Split方法

Split, 实现按照指定字符对字符串进行分割形成多个子串的功能。

   //使用下划线"_"分隔字符串    String str2 = "Czhenya_C_S_D_";    string[] res2 = str2.Split('_');    for (int i = 0; i < res2.Length; i++)    {          Console.Write(res2[i] + "..."); // 输出:Czhenya...C...S...D......    }    Console.WriteLine();    // 默认参数:StringSplitOptions.None :返回值包括包含空字符串的数组元素。    // StringSplitOptions.RemoveEmptyEntries:返回值不包括包含空字符串的数组元素。    string[] res3 = str2.Split('_', StringSplitOptions.RemoveEmptyEntries);    for (int i = 0; i < res3.Length; i++)    {         Console.Write(res3[i] + "..."); // 输出:Czhenya...C...S...D...    }    Console.WriteLine();

    //参数: 分隔字符,分隔几组,默认参数:StringSplitOptions.None    string[] res4 = str2.Split('_',3);    for (int i = 0; i < res4.Length; i++)    {          Console.Write(res4[i] + "..."); // 输出:Czhenya...C...S_D_...    }

  

9.Replace方法

Replace方法替换此实例中指定的字符或子串。

   String str1 = "Czhenya_CSDN";   // 使用 字符'A' 替换字符串中的 字符'C'   Console.WriteLine(str1.Replace('C','A'));           //输出:Azhenya_ASDN   // 字符串"ABCD" ,替换 字符串"CSDN"   Console.WriteLine(str1.Replace("CSDN", "ABCD"));    //输出:Czhenya_ABCD

10.Remove方法

Remove方法删除此实例中指定的字符。

 String str1 = "Czhenya_CSDN"; //参数:开始移除的索引 Console.WriteLine(str1.Remove(7));           //输出:Czhenya //参数:开始移除索引,移除长度 Console.WriteLine(str1.Remove(0,2));         //输出:henya_CSDN

11.Trim方法

删除字符串中所有前导空白字符和尾部空白字符。

String str1 = "  Czhenya_CSDN  ";

//除去字符串头部的空格Console.WriteLine("..." + str1.TrimStart() + "...");    //输出:...Czhenya_CSDN  ...//除去字符串尾部的空格Console.WriteLine("..." + str1.TrimEnd() + "...");      //输出:...  Czhenya_CSDN...//除去字符串头部和尾部的空格Console.WriteLine("..." + str1.Trim() + "...");         //输出:...Czhenya_CSDN...

12.Insert方法

Insert方法在此实例中的指定索引位置插入一个指定的String 实例。

 String str1 = "Czhenya_CSDN";//在指定的开始索引位置之后添加指定字符串Console.WriteLine(str1.Insert(0, "ABC"));    //输出:ABCCzhenya_CSDN

13. IndexOf相关方法

IndexOf方法有多种重载方式,报告指定字符或字符串在此实例中指定范围内的第一个匹配项的索引。

String str1 = "CSDN_Czhenya";

//匹配字符'C'在字符串str1中第一次出现的索引,没有则为-1;Console.WriteLine(str1.IndexOf('C'));           //输出:0//匹配字符串str1第3个字符后字符'C'第一次出现的索引Console.WriteLine(str1.IndexOf('C', 3));        //输出:5//匹配默认区分大小写,StringComparison.OrdinalIgnoreCase:为不区分大小写Console.WriteLine(str1.IndexOf('c'));           //输出:-1Console.WriteLine(str1.IndexOf('c', StringComparison.OrdinalIgnoreCase));        //输出:0

Console.WriteLine(str1.IndexOf("CSDN"));        //输出:0Console.WriteLine(str1.IndexOf("CsDn", 0, 5));  //输出:-1Console.WriteLine(str1.IndexOf("CsDn", 0, 5, StringComparison.OrdinalIgnoreCase));   //输出:0

//-----------------LastIndexOf-----------------------//字符'C'在str1的最后一次出现的从0开始的索引位置Console.WriteLine(str1.LastIndexOf('C'));           //输出:5//字符'C'在str1的最后一次出现的从3开始的索引位置Console.WriteLine(str1.LastIndexOf('C', 3));        //输出:0//参数:要匹配的字符,开始索引,匹配长度  --> 需要注意的是这里是从开始索引倒置匹配,所以索引值要大于等于匹配长度否则会报异常Console.WriteLine(str1.LastIndexOf('C', 7, 4));     //输出:5

IndexOfAny和LastIndexOfAny

String str1 = "CSDN_Czhenya";char[] testArr = { 'N', 'S', 'C', 'D'};//从字符串str1第一个字符开始(0号索引)和字符数组testArr中的元素进行匹配,匹配到了则返回当前索引Console.WriteLine(str1.IndexOfAny(testArr));           //输出:0//从第四个字符开始匹配Console.WriteLine(str1.IndexOfAny(testArr, 4));        //输出:5//参数:匹配字符数组,匹配在str1的开始位置,匹配长度Console.WriteLine(str1.IndexOfAny(testArr, 4, 3));     //输出:5

//-----------------LastIndexOfAny-----------------------char[] testArr = { 'N', 'S', 'C', 'D'};Console.WriteLine(str1.LastIndexOfAny(testArr));           //输出:5Console.WriteLine(str1.LastIndexOfAny(testArr, 4));        //输出:3Console.WriteLine(str1.LastIndexOfAny(testArr, 4, 3));     //输出:3

14.IsNullOrEmpty

IsNullOrEmpty,指示指定的字符串是null还是空字符串,如果值参数为null或空字符串,返回true;否则返回false。

 string value1; string value2 = ""; string value3 = "Czhenya"; Console.WriteLine(String.IsNullOrEmpty(value1));  //输出:True Console.WriteLine(String.IsNullOrEmpty(value2));  //输出:True Console.WriteLine(String.IsNullOrEmpty(value2));  //输出:False

http://www.niftyadmin.cn/n/334002.html

相关文章

前端022_广告模块_修改功能

广告模块_修改功能 1、需求分析2、Mock添加查询数据3、Mock修改数据4、Api调用回显数据5、提交修改后的数据6、效果1、需求分析 需求分析 当点击 编辑 按钮后,弹出编辑窗口,并查询出分类相关信息进行渲染。修改后点击 确定 提交修改后的数据。 2、Mock添加查询数据 请求URL…

【夜莺(Flashcat)V6监控】3.链路追踪

链路追踪 介绍 链路追踪是分布式系统下的一个概念&#xff0c;它的目的就是要解决上面所提出的问题&#xff0c;也就是将一次分布式请求还原成调用链路&#xff0c;将一次分布式请求的调用情况集中展示&#xff0c;比如&#xff0c;各个服务节点上的耗时、请求具体到达哪台机…

BD2一些报错信息以及kettle插入更新组件

db2 truncate table the sql statement is only allowed as the first statement in a unit of work 原因&#xff1a; 在存储过程中使用了truncate这种DDL 解决方法&#xff1a; db2 truncate table the sql statement is only allowed as the first statement in a unit of w…

选择排序——堆排序

需要升序排列元素&#xff0c;建立大根堆&#xff1b;需要降序排序元素&#xff0c;建立小根堆。 &#xff08;1&#xff09;堆调整的过程&#xff1a;如果子树的根小&#xff08;大&#xff09;于左右孩子的较大者&#xff0c;那么将较大&#xff08;小&#xff09;者与根进行…

二十六、搜索与图论——SPFA算法(单源最短路 + 负权边 + Bellman-Ford 时间复杂度优化)

SPFA算法主要内容 一、基本思路1、算法概念2、SPFA 算法步骤算法步骤注意事项 3、SPFA算法进行负环判断 二、Java、C语言模板实现SPFA 算法SPFA求负环 三、例题题解 一、基本思路 1、算法概念 概念&#xff1a; SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称&#xff0…

机器学习笔记:高斯混合模型 GMM

1 高斯混合模型 总体分布是由K个高斯分布的组成的混合分布 1.1 一些记号 xj第j个观测数据K模型中高斯模型的数量αk 观测数据属于第k个子模型的概率 第k个子模型的高斯分布密度函数 &#xff08;也就是一个高斯分布的密度函数 第j个观测数据属于第k个子模型的概率 1.2 高斯…

蓝桥:前端开发笔面必刷题——Day2 数组(二)

文章目录 &#x1f4cb;前言&#x1f3af;删除有序数组中的重复项&#x1f4da;题目内容✅解答 &#x1f3af;移动零&#x1f4da;题目内容✅解答 &#x1f3af;长度最小的子数组&#x1f4da;题目内容✅解答 &#x1f3af;反转字符串数组&#x1f4da;题目内容✅解答 &#x1…

【野火启明_瑞萨RA6M5】梦的开始 ---- 点灯(寄存器)

文章目录 一、IOPORT简介二、IOPORT的框图分析三、IOPORT的寄存器描述1. 端口引脚功能选择寄存器2. 端口输出数据寄存器3. 端口输入数据寄存器4. 端口输出置位/复位寄存器5. 写保护寄存器 四、点亮LED灯&#xff08;寄存器&#xff09; 从本文开始&#xff0c;我将以瑞萨RA系列…