javascript slice
定义和用法
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法
stringObject.slice(start,end)
参数 | 描述 |
---|---|
start | 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 |
end | 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。 |
返回值
一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
说明
slice使用的时候要注意字符串的长度、【开始位置】、【结束位置。无论正负,都是从开始位置起,向右查找。无论正负,都要保证结束位置在开始位置右侧,不能相等,否则返回空字符串。
var str = '0123456789'; //正数序号: 0,1,2,3,4,5,6,7,8,9 //负数序号: -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 //可以将负数换算为正数, 负数表示的位置 = length - 负数的值。start和end都换算成正数后,start必须小于end,否则返回空 str.slice(4,-1) // == str.slice(4,9) 返回'45678' str.slice(4,-8) // == str.slice(4,2) 返回空 str.slice(4, 1) // 返回空 str.slice(4, 4) // 返回空 str.slice(-8,-7) // == str.slice(2,3) 返回 2 str.slice(8) // == str.slice(8,length) str.slice(-8) // == str.slice(length - 8,length)
String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
还要注意的是,String.slice() 与 Array.slice() 相似。