1.Equals方法
Equals方法有多种重载方式,实现按照一定规则确定两个String实例是否具有相同的值。
String str1 = "Czhenya";String str2 = "czhenya";//参数是object类型Console.WriteLine(str1.Equals(str2)); //输出:False// 比较str1和str2Console.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 = "_优快云";// 这种写法最多支持连接四个字符串Console.WriteLine(String.Concat(s1, s2)); //输出:CZhenConsole.WriteLine(String.Concat(s1, s2, s3, s4)); //输出:CZhenYa_优快云// 还有三个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_优快云";// str1是否包含str2 (区分大小写) --> 或者理解为str2是否是str1的字串Console.WriteLine(str1.Contains(str2)); //输出:FalseConsole.WriteLine(str2.Contains(str1)); //输出:True// 参数是char类型的重载Console.WriteLine(str1.Contains('c')); //输出:FalseConsole.WriteLine(str1.Contains('C')); //输出:True
4.StartsWith和EndsWith方法
返回一个Boolean值,确定此字符串实例的开始/结尾是否与指定的字符串匹配。
String str1 = "Czhenya";String str2 = "Czhenya_优快云";//str1是否是以str2开始的Console.WriteLine(str1.StartsWith(str2)); //输出:FalseConsole.WriteLine(str1.StartsWith('C')); //输出:TrueConsole.WriteLine(str2.StartsWith(str1)); //输出:TrueConsole.WriteLine(str2.StartsWith('c')); //输出:False
5.Compare方法
Compare方法有多种重载方式,实现对两个字符串按照指定规则、指定范围的比较操作,方法返回值为一个整数,用以描述两个字符串的排序中的相对位置。
String str1 = "czhenya";String str2 = "Czhenya_优快云";//参数:字符串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()); //输出:czhenyaConsole.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.Nonestring[] 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_优快云";// 使用 字符'A' 替换字符串中的 字符'C'Console.WriteLine(str1.Replace('C','A')); //输出:Azhenya_ASDN// 字符串"ABCD" ,替换 字符串"优快云"Console.WriteLine(str1.Replace("优快云", "ABCD")); //输出:Czhenya_ABCD
10.Remove方法
Remove方法删除此实例中指定的字符。
String str1 = "Czhenya_优快云";//参数:开始移除的索引Console.WriteLine(str1.Remove(7)); //输出:Czhenya//参数:开始移除索引,移除长度Console.WriteLine(str1.Remove(0,2)); //输出:henya_优快云
11.Trim方法
删除字符串中所有前导空白字符和尾部空白字符。
String str1 = " Czhenya_优快云 ";//除去字符串头部的空格Console.WriteLine("..." + str1.TrimStart() + "..."); //输出:...Czhenya_优快云 ...//除去字符串尾部的空格Console.WriteLine("..." + str1.TrimEnd() + "..."); //输出:... Czhenya_优快云...//除去字符串头部和尾部的空格Console.WriteLine("..." + str1.Trim() + "..."); //输出:...Czhenya_优快云...
12.Insert方法
Insert方法在此实例中的指定索引位置插入一个指定的String 实例。
String str1 = "Czhenya_优快云";//在指定的开始索引位置之后添加指定字符串Console.WriteLine(str1.Insert(0, "ABC")); //输出:ABCCzhenya_优快云
13. IndexOf相关方法
IndexOf方法有多种重载方式,报告指定字符或字符串在此实例中指定范围内的第一个匹配项的索引。
String str1 = "优快云_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)); //输出:0Console.WriteLine(str1.IndexOf("优快云")); //输出: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 = "优快云_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)); //输出:TrueConsole.WriteLine(String.IsNullOrEmpty(value2)); //输出:TrueConsole.WriteLine(String.IsNullOrEmpty(value2)); //输出:False
字符串操作方法详解:Equals到IsNullOrEmpty
本文详细介绍了.NET中String类的一些常用方法,如Equals的重载用于比较字符串,Concat用于连接字符串,Contains检查子串,StartsWith和EndsWith检测开头和结尾,Compare进行字符串比较,ToLower和ToUpper转换大小写,Substring截取子串,Split按字符分割,Replace替换子串,Remove删除字符,Trim处理空白,Insert插入字符串,以及IndexOf和LastIndexOf查找索引,最后提到了IsNullOrEmpty判断字符串是否为空或null。
2854

被折叠的 条评论
为什么被折叠?



