substr(), substring(), slice()用法及区别

来源:互联网 发布:qq飞车黄金米格数据 编辑:程序博客网 时间:2024/06/07 11:09

一,substr()
   substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

   语法:stringObject.substr(start,length)。
   1: start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
   2: length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
   
   demo.html

<script>    var testStr = "Hello world!";    console.log(testStr.substr(3,4)); //lo w;    console.log(testStr.substr(3)); //lo world!;    console.log(testStr.substr(3,10)); //lo world!;    console.log(testStr.substr(-1)); //!;    console.log(testStr.substr(-1,3)); //!;</script>

二,substring()
   substring() 方法用于提取字符串中介于两个指定下标之间的字符。
   语法:stringObject.substring(start,stop)。

   1:start 必需。一个非负的整数,规定要提取的子串在第一个字符在 stringObject 中的位置。
   2:stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
   注意
   1:substring() 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。理论上不接受负数作为参数,但实际使用并不会报错;
   2:如果参数 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

<script>    var testStr = "Hello world!";    console.log(testStr.substring(3,4)); //l;    console.log(testStr.substring(4,1)); //ell;    console.log(testStr.substring(3)); //lo world!;    console.log(testStr.substring(3,10)); //lo worl;    console.log(testStr.substring(-1)); //Hello world!    console.log(testStr.substring(-1,3)); //Hel;</script>

三,slice()
   slice() 方法可提取字符串的某个部分。与substring()相似。
   语法:stringObject.slice(start,end)。

   1:start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
   2:end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
   注意
   1:slice()函数不支持第一个参数小于第二个参数,会返回空字符;

<script>    var testStr = "Hello world!";    console.log(testStr.slice(3,4)); //l;    console.log(testStr.slice(4,1)); //空字符;    console.log(testStr.slice(3)); //lo world!;    console.log(testStr.slice(3,10)); //lo worl    console.log(testStr.slice(-1)); //!;    console.log(testStr.slice(-3)); //ld!;    console.log(testStr.slice(-1,3)); //空字符;</script>
0 0
原创粉丝点击