asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法
2024-07-10 13:23:46
供稿:網友
定位子串是指在一個字符串中尋找其中包含的子串或者某個字符,下面,逐一給大家詳細介紹。
一、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種:
?。?)int IndexOfAny(char[]anyOf);
?。?)int IndexOfAny(char[]anyOf, int startIndex);
?。?)int IndexOfAny(char[]anyOf, int startIndex, int count)。
在上述重載形式中,其參數含義如下:
(1)anyOf:待定位的字符數組,方法將返回這個數組中任意一個字符第一次出現的位置。
(2)startIndex:在原字符串中開始搜索的其實位置。
?。?)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用于搜索在一個字符串中,出現在一個字符數組中任意字符最后一次出現的位置。