zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    几种常用的曲线
    0188. Best Time to Buy and Sell Stock IV (H)
    0074. Search a 2D Matrix (M)
    0189. Rotate Array (E)
    0148. Sort List (M)
    0859. Buddy Strings (E)
    0316. Remove Duplicate Letters (M)
    0452. Minimum Number of Arrows to Burst Balloons (M)
    0449. Serialize and Deserialize BST (M)
    0704. Binary Search (E)
  • 原文地址:https://www.cnblogs.com/weimingxin/p/6852639.html
Copyright © 2011-2022 走看看