zoukankan      html  css  js  c++  java
  • IndexOf、LastIndexOf、Substring的用法

    今天遇到截取字符串的问题,在网上查了IndexOf、LastIndexOf、Substring这三种截取字符串的使用总结如下:

      String.IndexOf

      String.IndexOf 方法 (Char, Int32, Int32)
    报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。
    String.IndexOf(value, startIndex, count)

    参数
    value:要查找的 Unicode 字符。 
    startIndex:搜索起始位置。 
    count:要检查的字符位置数。
    返回值(Int32):
    如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。

    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);//返回 “国际通邓事文*”

    Label1.Text = str.Substring(str.Length-3,3); // 返回邓事文,即截倒数3位字符

    总结:

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

  • 相关阅读:
    hdu 1250 简单大整数加法
    hdu 3594 强连通好题仙人掌图,对自己的tarjan模板改下用这个
    hdu 1568关于斐波那契数列的公式及其思维技巧
    hdu 1245 Saving James Bond 策画几何+最短路 最短路求步数最少的路径
    关于c对文件的操作
    hdu 1829 带权并查集的运用类似于食物链但是更简单些
    hdu 1716 深搜dfs
    hdu 1713求分数的最小公倍数
    1268 和为K的组合 Meet in mid二分思路
    1163 最高的奖励 贪心 + 并查集
  • 原文地址:https://www.cnblogs.com/dujinyang/p/4788028.html
Copyright © 2011-2022 走看看