indexof 和 indexofany的区别介绍 |
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符 。在String类中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下面进行详细介绍 。 (1)定位字符: int IndexOf(char value) int IndexOf(char value, int startIndex) int IndexOf(char value, int startIndex, int count) (2)定位子串: 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相同,不再赘述 。 2.IndexOfAny/LastIndexOfAny (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用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置 。 |