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

atts 8年前發布 | 3K 次閱讀 C#

String.IndexOf

String.IndexOf 方法 (Char, Int32, Int32)
報告指定字符在此實例中的第一個匹配項的索引。搜索從指定字符位置開始,并檢查指定數量的字符位置。
String.IndexOf(value, startIndex, count)

示例:
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 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 str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.Substring(11);//返回 “國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文”
Label1.Text = str.Substring(11,7);//返回 “國際通鄧事文*”

總結一下:

IndexOf、LastIndexOf都是返回一個位置,是個整數值;找不到都返回-1;
IndexOf是從左向右查,LastIndexOf是從右向左查,不管是IndexOf還是LastIndexOf,索引序列都是從左到右的(起始值是0)
Substring是字符串截取,返回值是一個截取后的字符串。

 本文由用戶 atts 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!