indexof 和 indexofany的区别介绍
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符。在string类中,常用的定位子串和字符的方法包括indexof/lastindexof及indexofany/lastindexofany,下面进行详细介绍。
1.indexof/lastindexof
indexof方法用于搜索在一个字符串中,某个特定的字符或者子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的重载形式如下所示。
(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
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用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。
上一篇: Android实现刮刮乐示例分析
推荐阅读
-
indexof 和 indexofany的区别介绍
-
asp.net 请求输入到输出的全过程及httpHandler和httpModuler详细介绍
-
Java 中 String,StringBuffer 和 StringBuilder 的区别及用法
-
datalist,Repeater和Gridview的区别分析
-
详解 Java 中 equals 和 == 的区别
-
例举fastJson和jackson转json的区别
-
Datatable删除行的Delete和Remove方法的区别介绍
-
continue 和 break 的区别
-
break和continue的区别
-
Java中String、StringBuffer、StringBuilder的区别介绍