大众计算机学习网

专门提供各种电脑教程

asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法

Admin | 2011-9-2 8:38:06 | 被阅次数 | 6417

  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用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。