indexof 和 indexofany的區(qū)別介紹
定位子串是指在一個(gè)字符串中尋找其中包含的子串或者某個(gè)字符。在String類中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下面進(jìn)行詳細(xì)介紹。
1.IndexOf/LastIndexOf
IndexOf方法用于搜索在一個(gè)字符串中,某個(gè)特定的字符或者子串第一次出現(xiàn)的位置,該方法區(qū)分大小寫,并從字符串的首字符開(kāi)始以0計(jì)數(shù)。如果字符串中不包含這個(gè)字符或子串,則返回-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)
在上述重載形式中,其參數(shù)含義如下:
value:待定位的字符或者子串。
startIndex:在總串中開(kāi)始搜索的其實(shí)位置。
count:在總串中從起始位置開(kāi)始搜索的字符數(shù)。
下面的代碼在“Hello”中尋找字符‘l'第一次出現(xiàn)的位置。
代碼4-7 使用IndexOf尋找字符第一次出現(xiàn)位置:Default.aspx.cs
1. String s=”Hello”;
2. int I = s.IndexOf(‘l')); //2
同IndexOf類似,LastIndexOf用于搜索在一個(gè)字符串中,某個(gè)特定的字符或者子串最后一次出現(xiàn)的位置,其方法定義和返回值都與IndexOf相同,不再贅述。
2.IndexOfAny/LastIndexOfAny
IndexOfAny方法功能同IndexOf類似,區(qū)別在于,它可以搜索在一個(gè)字符串中,出現(xiàn)在一個(gè)字符數(shù)組中的任意字符第一次出現(xiàn)的位置。同樣,該方法區(qū)分大小寫,并從字符串的首字符開(kāi)始以0計(jì)數(shù)。如果字符串中不包含這個(gè)字符或子串,則返回-1。常用的IndexOfAny重載形式有3種:
(1)int IndexOfAny(char[]anyOf);
(2)int IndexOfAny(char[]anyOf, int startIndex);
(3)int IndexOfAny(char[]anyOf, int startIndex, int count)。
在上述重載形式中,其參數(shù)含義如下:
(1)anyOf:待定位的字符數(shù)組,方法將返回這個(gè)數(shù)組中任意一個(gè)字符第一次出現(xiàn)的位置。
(2)startIndex:在原字符串中開(kāi)始搜索的其實(shí)位置。
(3)count:在原字符串中從起始位置開(kāi)始搜索的字符數(shù)。
下例在“Hello”中尋找字符‘l'第一次和最后一次出現(xiàn)的位置。
代碼4-8 使用IndexOfAny尋找子串第一次和最后一次出現(xiàn)位置: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用于搜索在一個(gè)字符串中,出現(xiàn)在一個(gè)字符數(shù)組中任意字符最后一次出現(xiàn)的位置。
相關(guān)文章
.Net彈性和瞬態(tài)故障處理庫(kù)Polly實(shí)現(xiàn)執(zhí)行策略
這篇文章介紹了.Net彈性和瞬態(tài)故障處理庫(kù)Polly實(shí)現(xiàn)執(zhí)行策略的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06使用EF的Code?First模式操作數(shù)據(jù)庫(kù)
這篇文章介紹了使用EF的Code?First模式操作數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03ASP.NET WebService中使用ASP.NET_SessionId的問(wèn)題說(shuō)明
proxy.CookieContainer存儲(chǔ)了客戶端的 ASP.NET_SessionId。這樣以后每次通過(guò)webservice 方法調(diào)用時(shí),都會(huì)將ASP.NET_SessionId傳遞到服務(wù)器端。2011-09-09asp.net 無(wú)刷新翻頁(yè)就是這么簡(jiǎn)單
前兩天看了一個(gè)自定義分頁(yè)控件,和AspNetPager一樣是實(shí)現(xiàn)IPostBackEventHandler接口,不過(guò)簡(jiǎn)潔許多,就想能不能實(shí)現(xiàn)ICallbackEventHandler接口做到無(wú)刷新分頁(yè)呢?想到了就馬上去做,終于,設(shè)想變成了現(xiàn)實(shí)!!2010-03-03IIS處理Asp.net請(qǐng)求和Asp.net頁(yè)面生命周期說(shuō)明
當(dāng)一個(gè)客戶端頁(yè)面訪問(wèn)IIS試圖獲取一些信息的時(shí)候,發(fā)生了什么事情?一個(gè)請(qǐng)求在通過(guò)了HTTP管道后又發(fā)生了什么?本文主要是描述這兩個(gè)過(guò)程,即IIS處理asp.net請(qǐng)求和asp.net的頁(yè)面生命周期。歡迎大家積極拍磚,共同學(xué)習(xí),共同進(jìn)步。2011-05-05.NET Core應(yīng)用類型(Portable apps & Self-contained apps)
這篇文章主要介紹了.NET Core應(yīng)用類型,通常類型用來(lái)描述一個(gè)特定的執(zhí)行模型或者基于此的應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04