日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

C# indexof和indexofany区别(转)

發(fā)布時(shí)間:2025/5/22 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# indexof和indexofany区别(转) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

定位子串是指在一個(gè)字符串中尋找其中包含的子串或者某個(gè)字符。在String類中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下面進(jìn)行詳細(xì)介紹。

1.IndexOf/LastIndexOf

IndexOf方法用于搜索在一個(gè)字符串中,某個(gè)特定的字符或者子串第一次出現(xiàn)的位置,該方法區(qū)分大小寫,并從字符串的首字符開始以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:在總串中開始搜索的其實(shí)位置。

count:在總串中從起始位置開始搜索的字符數(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ū)分大小寫,并從字符串的首字符開始以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:在原字符串中開始搜索的起始位置。

(3)count:在原字符串中從起始位置開始搜索的字符數(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)的位置。

?

------------------------------------------------------------------------------

??????????? string str = "liminandlxf";

??????????? //str0個(gè)字符起,查找8個(gè)字符,

???????????//查找“and”在字符串STR中的位置[從第一個(gè)字符算起]注意:start+end不能大于str的長度

???????????//即在str中從第0個(gè)字符開始取8個(gè)字符得到liminand,然后在這個(gè)里面查找and的開始位置

??????????? int Pos = str.IndexOf("and", 0,8);? //返回5

??????????? Pos = str.IndexOf("and", 0, 7);???? //返回-1

???????MessageBox.Show(Pos.ToString());

--------------------------------------------------------------------------------

???string str = "liminandlxf";
??????????? char[] anyof = { 'l', 'a', 'f' };
??????????? //查找anyof字符數(shù)組中的任意字符在str中第一次出現(xiàn)的位置
??????????? int pos = str.IndexOfAny(anyof);????? //返回0,第一個(gè)出現(xiàn)的是l
??????????? MessageBox.Show(pos.ToString());
??????????? int pos2 = str.LastIndexOfAny(anyof); //返回10,查找在anyof字符數(shù)組中的任意字符
????????????????????????????????????????????????????????????????????????????? //在字符串str中最后出現(xiàn)的位置
??????????? MessageBox.Show(pos2.ToString());

轉(zhuǎn)載于:https://www.cnblogs.com/a-mumu/p/4740172.html

總結(jié)

以上是生活随笔為你收集整理的C# indexof和indexofany区别(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。