C#中String類的幾個方法(IndexOf、LastIndexOf、Substring) 轉

來源:互聯網
上載者:User
 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是字串截取,傳回值是一個截取後的字串。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.