asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法 |
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符,下面,逐一给大家详细介绍 。 一、IndexOf/LastIndexOf IndexOf方法用于搜索在一个字符串中,某个特定的字符或者子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以0计数 。如果字符串中不包含这个字符或子串,则返回-1 。常用的重载形式如下所示 。 ①定位字符 int IndexOf(char value) int IndexOf(char value, int startIndex) int IndexOf(char value, int startIndex, int count) ②定位子串 int IndexOf(string value) int IndexOf(string value, int startIndex) int IndexOf(string value, int startIndex, int count) 在上述重载形式中,其参数含义如下: value:待定位的字符或者子串 。 startIndex:在总串中开始搜索的其实位置 。 count:在总串中从起始位置开始搜索的字符数 。 下面的代码在“Hello”中寻找字符‘l第一次出现的位置 。 代码4-7 使用IndexOf寻找字符第一次出现位置:Default.aspx.cs 1. String s=”Hello”; 2. int I = s.IndexOf(‘l)); //2 同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或者子串最后一次出现的位置,其方法定义和返回值都与IndexOf相同,不再赘述 。 二、IndexOfAny/LastIndexOfAny IndexOfAny方法功能同IndexOf类似,区别在于,它可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置 。同样,该方法区分大小写,并从字符串的首字符开始以0计数 。如果字符串中不包含这个字符或子串,则返回-1 。常用的IndexOfAny重载形式有3种: (1)int IndexOfAny(char[]anyOf); (2)int IndexOfAny(char[]anyOf, int startIndex); (3)int IndexOfAny(char[]anyOf, int startIndex, int count) 。 在上述重载形式中,其参数含义如下: (1)anyOf:待定位的字符数组,方法将返回这个数组中任意一个字符第一次出现的位置 。 (2)startIndex:在原字符串中开始搜索的其实位置 。 (3)count:在原字符串中从起始位置开始搜索的字符数 。 下例在“Hello”中寻找字符‘l第一次和最后一次出现的位置 。 代码4-8 使用IndexOfAny寻找子串第一次和最后一次出现位置:Default.aspx.cs 1.String s = “Hello”; 2.char[] anyOf={H,e,l}; 3.int i1 = s.IndexOfAny(anyOf)); //0 4.int i2 = s.LastIndexOfAny(anyOf)); //3 同IndexOfAny类似,LastIndexOfAny用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置 。 |