IndexOf、LastIndexOf、Substring的用法
2015.09.10 | 720閱讀 | 0條評(píng)論 | 未命名
IndexOf、LastIndexOf、Substring這三種截取字符串的使用總結(jié)如下:
String.IndexOf
String.IndexOf 方法 (Char, Int32, Int32)
報(bào)告指定字符在此實(shí)例中的第一個(gè)匹配項(xiàng)的索引。搜索從指定字符位置開(kāi)始,并檢查指定數(shù)量的字符位置。
String.IndexOf(value, startIndex, count)
參數(shù)
value:要查找的 Unicode 字符。
startIndex:搜索起始位置。
count:要檢查的字符位置數(shù)。
返回值(Int32):
如果找到該字符,則為 value 的索引位置;否則如果未找到,則為 -1。
String.LastIndexOf
String.LastIndexOf 方法
報(bào)告指定的 Unicode 字符或 String 在此實(shí)例中的最后一個(gè)匹配項(xiàng)的索引位置。
名稱 |
說(shuō)明 |
|
String.LastIndexOf (Char) |
報(bào)告指定 Unicode 字符在此實(shí)例中的最后一個(gè)匹配項(xiàng)的索引位置。 |
String.LastIndexOf (String) |
報(bào)告指定的 String 在此實(shí)例內(nèi)的最后一個(gè)匹配項(xiàng)的索引位置。 |
String.LastIndexOf (Char, Int32) |
報(bào)告指定 Unicode 字符在此實(shí)例中的最后一個(gè)匹配項(xiàng)的索引位置。該搜索從指定字符位置開(kāi)始。 |
String.LastIndexOf (String, Int32) |
報(bào)告指定的 String 在此實(shí)例內(nèi)的最后一個(gè)匹配項(xiàng)的索引位置。該搜索從指定字符位置開(kāi)始。 |
String.LastIndexOf (String, StringComparison) |
報(bào)告指定字符串在當(dāng)前 String 對(duì)象中最后一個(gè)匹配項(xiàng)的索引。一個(gè)參數(shù)指定要用于指定字符串的搜索類型。 |
String.LastIndexOf (Char, Int32, Int32) |
報(bào)告指定的 Unicode 字符在此實(shí)例內(nèi)的子字符串中的最后一個(gè)匹配項(xiàng)的索引位置。搜索從指定字符位置開(kāi)始,并檢查指定數(shù)量的字符位置。 |
String.LastIndexOf (String, Int32, Int32) |
報(bào)告指定的 String 在此實(shí)例內(nèi)的最后一個(gè)匹配項(xiàng)的索引位置。搜索從指定字符位置開(kāi)始,并檢查指定數(shù)量的字符位置。 |
String.LastIndexOf (String, Int32, StringComparison) |
報(bào)告指定字符串在當(dāng)前 String 對(duì)象中最后一個(gè)匹配項(xiàng)的索引。參數(shù)指定當(dāng)前字符串中的起始搜索位置,以及要用于指定字符串的搜索類型。 |
String.LastIndexOf (String, Int32, Int32, StringComparison) |
報(bào)告指定的 String 對(duì)象在此實(shí)例內(nèi)的最后一個(gè)匹配項(xiàng)的索引位置。參數(shù)指定當(dāng)前字符串中的起始搜索位置、要搜索的當(dāng)前字符串中的字符數(shù)量,以及要用于指定字符串的搜索類型。 |
示例:
string str = "深圳市盈基實(shí)業(yè)有限公司國(guó)際通鄧事文*深圳市盈基實(shí)業(yè)有限公司國(guó)際通鄧事文";
Label1.Text = str.LastIndexOf("鄧文").ToString();//返回-1
Label1.Text = str.LastIndexOf("鄧").ToString();//返回32
Label1.Text = str.LastIndexOf("鄧",8).ToString();//返回-1
Label1.Text = str.LastIndexOf("鄧",20).ToString();//返回14
Label1.Text = str.LastIndexOf("鄧",33).ToString();//返回32
說(shuō)明:在指定的范圍內(nèi)查找字符,這個(gè)范圍是上面的輸入的參數(shù),理解為,從索引0開(kāi)始到指定的數(shù)值位置范圍內(nèi)查找最后一個(gè)匹配的的字符串的位置。示例中,0-8中沒(méi)有“鄧”字,所以返回-1,0-20范圍中,有一個(gè)“鄧”字在索引14位置上,0-33范圍中有兩個(gè)“鄧”字,因?yàn)長(zhǎng)astIndexOf是返回最后一個(gè)匹配項(xiàng)索引位置,所以返32,而不是14。
String.Substring
String.Substring 方法
從此實(shí)例檢索子字符串。
名稱 |
說(shuō)明 |
String.Substring (Int32) |
從此實(shí)例檢索子字符串。子字符串從指定的字符位置開(kāi)始。 |
String.Substring (Int32, Int32) |
從此實(shí)例檢索子字符串。子字符串從指定的字符位置開(kāi)始且具有指定的長(zhǎng)度。 |
示例:
string str = "深圳市盈基實(shí)業(yè)有限公司國(guó)際通鄧事文*深圳市盈基實(shí)業(yè)有限公司國(guó)際通鄧事文";
Label1.Text = str.Substring(11);//返回 “國(guó)際通鄧事文*深圳市盈基實(shí)業(yè)有限公司國(guó)際通鄧事文”
Label1.Text = str.Substring(11,7);//返回 “國(guó)際通鄧事文*”
Label1.Text = str.Substring(str.Length-3,3); // 返回鄧事文,即截倒數(shù)3位字符
總結(jié):
IndexOf、LastIndexOf都是返回一個(gè)位置,是個(gè)整數(shù)值;找不到都返回-1;
IndexOf是從左向右查,LastIndexOf是從右向左查,不管是IndexOf還是LastIndexOf,索引序列都是從左到右的(起始值是0)
Substring是字符串截取,返回值是一個(gè)截取后的字符串。
發(fā)表評(píng)論