• JS截取与分割字符串


    1.substr 方法

    返回一个从指定位置开始的指定长度的子字符串。

    stringvar.substr(start [, length ])

    start :必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

    length :可选项。在返回的子字符串中应包括的字符个数。

    说明:如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。

    示例:

    function SubstrDemo(){
      var s, ss;        // 声明变量。
      var s = "The rain in Spain falls mainly in the plain.";
      ss = s.substr(12, 5); // 获取子字符串。
      return(ss);        // 返回 "Spain"。
    }

    2.substring 方法

    返回位于 String 对象中指定位置的子字符串。

    strVariable.substring(start, end)
    "String Literal".substring(start, end)

    参数

    start:指明子字符串的起始位置,该索引从 0 开始起算。

    end:指明子字符串的结束位置,该索引从 0 开始起算。

    说明:

    substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。

    substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。

    如果 start 或 end 为 NaN 或者负数,那么将其替换为0。

    子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。

    示例:

    function SubstringDemo(){
      var ss; // 声明变量。
      var s = "The rain in Spain falls mainly in the plain..";
      ss = s.substring(12, 17); // 取子字符串。
      return(ss); // 返回子字符串。
    }
     

    函数:indexOf()

    功能:返回字符串中匹配子串的第一个字符的下标

    1
    2
    3
    4
    5
    var myString="JavaScript";
    var w=myString.indexOf("v");w will be 2
    var x=myString.indexOf("S");x will be 4
    var y=myString.indexOf("Script");y will also be 4
    var z=myString.indexOf("key");z will be -1

     

    3.split()方法

     例1:

    var yourString=“12,25,24,234,234,”;

    var result=yourString.split(",");

     for(var i=0;i<result.length;i++){

          document.write(result[i]);

    }

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    split使用方法如下:
    stringObject.split(separator,howmany)
    参数描述
    separator   必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。   
    howmany   可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。   
    返回值
    一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
    但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
    提示和注释注释:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
    ------------------------------------------------------------------------------------------------------------------------------
    例2: 代码如下: public static void main(String[] args) {
    String a=",aaa,bbb,,,,,,,";
    String b="d:/sc/zz,d:/cx/vv,,,d:/saa/cc,,,,,";
            String[] a1 = a.split(",", -1); //效果等同于String[] a1 = a.split(",");
            String[] b1 = b.split(",",-1);
            for(int i = 0;i< a1.length; i ++){
             System.out.println(i+":"+a1[i]);        
            }
            for(int j = 0;j< b1.length; j ++){
             System.out.println(j+":"+b1[j]);        
            }
            System.out.println("a1的长度是:"+a1.length);
            System.out.println("b1的长度是:"+b1.length);
    }

     输出的结果是:
    0:
    1:aaa
    2:bbb
    3:
    4:
    5:
    6:
    7:
    8:
    9:
    0:d:/sc/zz
    1:d:/cx/vv
    2:
    3:
    4:d:/saa/cc
    5:
    6:
    7:
    8:
    9:
    a1的长度是:10
    b1的长度是:10

  • 相关阅读:
    dispatch_semaphore
    dispatch_set_target_queue
    iOS charles支持https抓包
    ios8 毛玻璃效果
    工程里配置.xconfig文件
    线程安全的nsmutabledictionary(读weex代码)
    关于信号量以及多线程的代码
    dispatch_set_target_queue测试
    dyld: Library not loaded问题解决
    iOS图片上加标签或者水印
  • 原文地址:https://www.cnblogs.com/weimingxin/p/6852639.html
Copyright © 2020-2023  润新知