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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#String 提供了很多方法,包括: 1. Compare:比较两个字符串的大小,返回一个整数表示比较结果。 2. Concat:将多个字符串连接成一个字符串。 3. Contains:判断字符串是否包含指定的子字符串。 4. Copy:将一个字符串复制到另一个字符数组。 5. EndsWith:判断字符串是否以指定的子字符串结尾。 6. IndexOf:查找指定字符或字符串在字符串第一次出现的位置。 7. Insert:将一个字符串插入到另一个字符串的指定位置。 8. IsNullOrEmpty:判断字符串是否为空或者为 null。 9. Join:将多个字符串用指定的分隔符连接成一个字符串。 10. LastIndexOf:查找指定字符或字符串在字符串最后一次出现的位置。 11. PadLeft:在字符串的左侧填充指定的字符,使字符串达到指定的长度。 12. PadRight:在字符串的右侧填充指定的字符,使字符串达到指定的长度。 13. Remove:从字符串移除指定的子字符串。 14. Replace:替换字符串的指定字符或字符串。 15. Split:将字符串根据指定的分隔符分割成一个字符串数组。 16. StartsWith:判断字符串是否以指定的子字符串开头。 17. Substring:获取字符串的子串。 18. ToCharArray:将字符串转换为字符数组。 19. ToLower:将字符串转换为小写字母。 20. ToUpper:将字符串转换为大写字母。 21. Trim:移除字符串两端的空格或指定字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值