C#中String类的几个方法(IndexOf、LastIndexOf、Substring)

来源:互联网 发布:python 安装xpath 编辑:程序博客网 时间:2024/05/16 14:30

from  http://blog.csdn.net/happymagic/article/details/8842545

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是字符串截取,返回值是一个截取后的字符串。

[csharp] view plain copy
  1. C#几个经常用到的字符串截取  
  2. 一、  
  3.   
  4. 1、取字符串的前i个字符  
  5.   
  6. (1)string str1=str.Substring(0,i);  
  7.   
  8. (2)string str1=str.Remove(i,str.Length-i);  
  9.   
  10. 2、去掉字符串的前i个字符  
  11.   
  12. string str1=str.Remove(0,i);  
  13.   
  14. string str1=str.SubString(i);  
  15.   
  16. 3、从右边开始取i个字符:  
  17.   
  18. string str1=str.SubString(str.Length-i);  
  19.   
  20. string str1=str.Remove(0,str.Length-i);  
  21.   
  22. 4、从右边开始去掉i个字符:  
  23.   
  24. string str1=str.Substring(0,str.Length-i);  
  25.   
  26. string str1=str.Remove(str.Length-i,i);  
  27.   
  28. 5、  
  29.   
  30. 6 、如果字符串中有"abc"则替换成"ABC"  
  31.    str=str.Replace("abc","ABC");  
  32.   
  33.    
  34.   
  35. 7、c#截取字符串最后一个字符的问题!!!!!!!!!!!!!!!!!!!!!  
  36.   
  37.    
  38.   
  39. str1.Substring(str1.LastIndexOf(",")+1);  
  40.   
  41. 8、C# 截取字符串最后一个字符  
  42.   
  43. k = k.Substring(k.Length-1, 1);  

0 0
原创粉丝点击