C#中String类的几个方法

1、String.IndexOf

String.IndexOf 方法 (Char, Int32, Int32)
报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。
String.IndexOf(value, startIndex, count)

参数
value:要查找的 Unicode 字符。
startIndex:搜索起始位置。
count:要检查的字符位置数。
返回值(Int32):
如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。


示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.IndexOf("中国").ToString();//返回 -1
Label1.Text = str.IndexOf("盈基").ToString();//返回 3
Label1.Text = str.IndexOf("盈基",10).ToString();//返回21 说明:这是从第10个字符开始查起。
Label1.Text = str.IndexOf("邓",15,10).ToString();//返回 -1
Label1.Text = str.IndexOf("邓",15,20).ToString();//返回 -32 说明:从第15个字符开始查找,要查找的范围是从第15个字符开始后20个字符,即从第15-35个字符中查找。

2、String.LastIndexOf

String.LastIndexOf 方法
报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。

名称

说明

 

String.LastIndexOf (Char)

报告指定 Unicode 字符在此实例中的最后一个匹配项的索引位置。

 

String.LastIndexOf (String)

报告指定的 String 在此实例内的最后一个匹配项的索引位置。

 

String.LastIndexOf (Char, Int32)

报告指定 Unicode 字符在此实例中的最后一个匹配项的索引位置。该搜索从指定字符位置开始。

 

String.LastIndexOf (String, Int32)

报告指定的 String 在此实例内的最后一个匹配项的索引位置。该搜索从指定字符位置开始。

 

String.LastIndexOf (String, StringComparison)

报告指定字符串在当前 String 对象中最后一个匹配项的索引。一个参数指定要用于指定字符串的搜索类型。

 

String.LastIndexOf (Char, Int32, Int32)

报告指定的 Unicode 字符在此实例内的子字符串中的最后一个匹配项的索引位置。搜索从指定字符位置开始,并检查指定数量的字符位置。

 

String.LastIndexOf (String, Int32, Int32)

报告指定的 String 在此实例内的最后一个匹配项的索引位置。搜索从指定字符位置开始,并检查指定数量的字符位置。

 

String.LastIndexOf (String, Int32, StringComparison)

报告指定字符串在当前 String 对象中最后一个匹配项的索引。参数指定当前字符串中的起始搜索位置,以及要用于指定字符串的搜索类型。

 

String.LastIndexOf (String, Int32, Int32, StringComparison)

报告指定的 String 对象在此实例内的最后一个匹配项的索引位置。参数指定当前字符串中的起始搜索位置、要搜索的当前字符串中的字符数量,以及要用于指定字符串的搜索类型。

 



示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.LastIndexOf("邓文").ToString();//返回-1
Label1.Text = str.LastIndexOf("邓").ToString();//返回32

Label1.Text = str.LastIndexOf("邓",8).ToString();//返回-1
Label1.Text = str.LastIndexOf("邓",20).ToString();//返回14
Label1.Text = str.LastIndexOf("邓",33).ToString();//返回32
说明:在指定的范围内查找字符,这个范围是上面的输入的参数,理解为,从索引0开始到指定的数值位置范围内查找最后一个匹配的的字符串的位置。示例中,0-8中没有“邓”字,所以返回-1,0-20范围中,有一个“邓”字在索引14位置上,0-33范围中有两个“邓”字,因为LastIndexOf是返回最后一个匹配项索引位置,所以返32,而不是14。

3、String.Substring

String.Substring 方法
从此实例检索子字符串。

名称

说明

String.Substring (Int32)

从此实例检索子字符串。子字符串从指定的字符位置开始。

String.Substring (Int32, Int32)

从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。



示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.Substring(11);//返回 “国际通邓事文*深圳市盈基实业有限公司国际通邓事文”
Label1.Text = str.Substring(11,7);//返回 “国际通邓事文*”

 

 

 

String 类提供的成员执行以下操作:比较 String 对象;返回 String 对象内字符或字符串的索引;复制 String 对象的值;分隔字符串或组合字符串;修改字符串的值;将数字、日期和时间或枚举值的格式设置为字符串;对字符串进行规范化。

  • 使用 CompareCompareOrdinalCompareToEqualsEndsWithStartsWith 方法进行比较。

  • 使用 IndexOfIndexOfAnyLastIndexOfLastIndexOfAny 方法可获取字符串中子字符串或 Unicode 字符的索引。

  • 使用 CopyCopyTo 可将字符串或子字符串复制到另一个字符串或 Char 类型的数组。

  • 使用 SubstringSplit 方法可通过原始字符串的组成部分创建一个或多个新字符串;使用 ConcatJoin 方法可通过一个或多个子字符串创建新字符串。

  • 使用 InsertReplaceRemovePadLeftPadRightTrimTrimEndTrimStart 可修改字符串的全部或部分。

  • 使用 ToLowerToLowerInvariantToUpperToUpperInvariant 方法可更改字符串中 Unicode 字符的大小写。

  • 使用 Format,可将字符串中的一个或多个格式项占位符替换为一个或多个数字、日期和时间或枚举值的文本表示形式。

  • 使用 Length 属性可获取字符串中 Char 对象的数量;使用 Chars 属性可访问字符串中实际的 Char 对象。

  • 使用 IsNormalized 方法可测试某个字符串是否已规范化为特定的范式。使用 Normalize 方法可创建规范化为特定范式的字符串。

     

      Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。
      Format(String, array<Object>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。
      Format(IFormatProvider, String, array<Object>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。
        Format(String, Object, Object) 将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。
        Format(String, Object, Object, Object) 将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项。

 

4、总结一下:

IndexOf、LastIndexOf都是返回一个位置,是个整数值;找不到都返回-1;
IndexOf是从左向右查,LastIndexOf是从右向左查,不管是IndexOf还是LastIndexOf,索引序列都是从左到右的(起始值是0)
Substring是字符串截取,返回值是一个截取后的字符串。

你可能感兴趣的:(C#中String类的几个方法)