String.IndexOf
String.IndexOf 方法 (Char, Int32, Int32)
報告指定字元在此執行個體中的第一個匹配項的索引。搜尋從指定字元位置開始,並檢查指定數量的字元位置。
String.IndexOf(value, startIndex, count)
參數
value:要尋找的 Unicode 字元。
startIndex:搜尋起始位置。
count:要檢查的字元位置數。
傳回值(Int32):
如果找到該字元,則為 value 的索引位置;否則如果未找到,則為 -1。
樣本:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.IndexOf("中國").ToString();//返回 -1
Label1.Text = str.IndexOf("盈基").ToString();//返回 3
Label1.Text = str.IndexOf("盈基",10).ToString();//返回21 說明:這是從第10個字元開始查起。
Label1.Text = str.IndexOf("鄧",15,10).ToString();//返回 -1
Label1.Text = str.IndexOf("鄧",15,20).ToString();//返回 -32 說明:從第15個字元開始尋找,要尋找的範圍是從第15個字元開始後20個字元,即從第15-35個字元中尋找。
String.LastIndexOf
String.LastIndexOf 方法
報告指定的 Unicode 字元或 String 在此執行個體中的最後一個匹配項的索引位置。
名稱 |
說明 |
|
String.LastIndexOf (Char) |
報告指定 Unicode 字元在此執行個體中的最後一個匹配項的索引位置。 |
String.LastIndexOf (String) |
報告指定的 String 在此執行個體內的最後一個匹配項的索引位置。 |
String.LastIndexOf (Char, Int32) |
報告指定 Unicode 字元在此執行個體中的最後一個匹配項的索引位置。該搜尋從指定字元位置開始。 |
String.LastIndexOf (String, Int32) |
報告指定的 String 在此執行個體內的最後一個匹配項的索引位置。該搜尋從指定字元位置開始。 |
String.LastIndexOf (String, StringComparison) |
報告指定字串在當前 String 對象中最後一個匹配項的索引。一個參數指定要用於指定字串的搜尋類型。 |
String.LastIndexOf (Char, Int32, Int32) |
報告指定的 Unicode 字元在此執行個體內的子字串中的最後一個匹配項的索引位置。搜尋從指定字元位置開始,並檢查指定數量的字元位置。 |
String.LastIndexOf (String, Int32, Int32) |
報告指定的 String 在此執行個體內的最後一個匹配項的索引位置。搜尋從指定字元位置開始,並檢查指定數量的字元位置。 |
String.LastIndexOf (String, Int32, StringComparison) |
報告指定字串在當前 String 對象中最後一個匹配項的索引。參數指定當前字串中的起始搜尋位置,以及要用於指定字串的搜尋類型。 |
String.LastIndexOf (String, Int32, Int32, StringComparison) |
報告指定的 String 對象在此執行個體內的最後一個匹配項的索引位置。參數指定當前字串中的起始搜尋位置、要搜尋的當前字串中的字元數量,以及要用於指定字串的搜尋類型。 |
樣本:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
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
說明:在指定的範圍內尋找字元,這個範圍是上面的輸入的參數,理解為,從索引0開始到指定的數值位置範圍內尋找最後一個匹配的的字串的位置。樣本中,0-8中沒有“鄧”字,所以返回-1,0-20範圍中,有一個“鄧”字在索引14位置上,0-33範圍中有兩個“鄧”字,因為LastIndexOf是返回最後一個匹配項索引位置,所以返32,而不是14。
String.Substring
String.Substring 方法
從此執行個體檢索子字串。
名稱 |
說明 |
String.Substring (Int32) |
從此執行個體檢索子字串。子字串從指定的字元位置開始。 |
String.Substring (Int32, Int32) |
從此執行個體檢索子字串。子字串從指定的字元位置開始且具有指定的長度。 |
樣本:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.Substring(11);//返回 “國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文”
Label1.Text = str.Substring(11,7);//返回 “國際通鄧事文*”
總結一下:
IndexOf、LastIndexOf都是返回一個位置,是個整數值;找不到都返回-1;
IndexOf是從左向右查,LastIndexOf是從右向左查,不管是IndexOf還是LastIndexOf,索引序列都是從左至右的(起始值是0)
Substring是字串截取,傳回值是一個截取後的字串。String.IndexOf
String.IndexOf 方法 (Char, Int32, Int32)
報告指定字元在此執行個體中的第一個匹配項的索引。搜尋從指定字元位置開始,並檢查指定數量的字元位置。
String.IndexOf(value, startIndex, count)
參數
value:要尋找的 Unicode 字元。
startIndex:搜尋起始位置。
count:要檢查的字元位置數。
傳回值(Int32):
如果找到該字元,則為 value 的索引位置;否則如果未找到,則為 -1。
樣本:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.IndexOf("中國").ToString();//返回 -1
Label1.Text = str.IndexOf("盈基").ToString();//返回 3
Label1.Text = str.IndexOf("盈基",10).ToString();//返回21 說明:這是從第10個字元開始查起。
Label1.Text = str.IndexOf("鄧",15,10).ToString();//返回 -1
Label1.Text = str.IndexOf("鄧",15,20).ToString();//返回 -32 說明:從第15個字元開始尋找,要尋找的範圍是從第15個字元開始後20個字元,即從第15-35個字元中尋找。
String.LastIndexOf
String.LastIndexOf 方法
報告指定的 Unicode 字元或 String 在此執行個體中的最後一個匹配項的索引位置。
名稱 |
說明 |
|
String.LastIndexOf (Char) |
報告指定 Unicode 字元在此執行個體中的最後一個匹配項的索引位置。 |
String.LastIndexOf (String) |
報告指定的 String 在此執行個體內的最後一個匹配項的索引位置。 |
String.LastIndexOf (Char, Int32) |
報告指定 Unicode 字元在此執行個體中的最後一個匹配項的索引位置。該搜尋從指定字元位置開始。 |
String.LastIndexOf (String, Int32) |
報告指定的 String 在此執行個體內的最後一個匹配項的索引位置。該搜尋從指定字元位置開始。 |
String.LastIndexOf (String, StringComparison) |
報告指定字串在當前 String 對象中最後一個匹配項的索引。一個參數指定要用於指定字串的搜尋類型。 |
String.LastIndexOf (Char, Int32, Int32) |
報告指定的 Unicode 字元在此執行個體內的子字串中的最後一個匹配項的索引位置。搜尋從指定字元位置開始,並檢查指定數量的字元位置。 |
String.LastIndexOf (String, Int32, Int32) |
報告指定的 String 在此執行個體內的最後一個匹配項的索引位置。搜尋從指定字元位置開始,並檢查指定數量的字元位置。 |
String.LastIndexOf (String, Int32, StringComparison) |
報告指定字串在當前 String 對象中最後一個匹配項的索引。參數指定當前字串中的起始搜尋位置,以及要用於指定字串的搜尋類型。 |
String.LastIndexOf (String, Int32, Int32, StringComparison) |
報告指定的 String 對象在此執行個體內的最後一個匹配項的索引位置。參數指定當前字串中的起始搜尋位置、要搜尋的當前字串中的字元數量,以及要用於指定字串的搜尋類型。 |
樣本:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
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
說明:在指定的範圍內尋找字元,這個範圍是上面的輸入的參數,理解為,從索引0開始到指定的數值位置範圍內尋找最後一個匹配的的字串的位置。樣本中,0-8中沒有“鄧”字,所以返回-1,0-20範圍中,有一個“鄧”字在索引14位置上,0-33範圍中有兩個“鄧”字,因為LastIndexOf是返回最後一個匹配項索引位置,所以返32,而不是14。
String.Substring
String.Substring 方法
從此執行個體檢索子字串。
名稱 |
說明 |
String.Substring (Int32) |
從此執行個體檢索子字串。子字串從指定的字元位置開始。 |
String.Substring (Int32, Int32) |
從此執行個體檢索子字串。子字串從指定的字元位置開始且具有指定的長度。 |
樣本:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.Substring(11);//返回 “國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文”
Label1.Text = str.Substring(11,7);//返回 “國際通鄧事文*”
總結一下:
IndexOf、LastIndexOf都是返回一個位置,是個整數值;找不到都返回-1;
IndexOf是從左向右查,LastIndexOf是從右向左查,不管是IndexOf還是LastIndexOf,索引序列都是從左至右的(起始值是0)
Substring是字串截取,傳回值是一個截取後的字串。