JS截取字符串的方法详解

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

var str="abcdefg"; str.substr(3)//defgstr.substr(3,2)// de (2表示长度,是下标为3开开始,包括3之后的两个字符)str.substr(-2)// fg2 倒数第二个字符到结尾的字符串str.substr(-3,2) // ef倒数第三个字符开始

substring() 方法 substring() 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(start,stop)
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop: 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。
【JS截取字符串的方法详解】返回值: 一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
说明:substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
var str="abcdefg"str.substring(3) //defgstr.substring(3,3) //空的字符串str.substring(3,5)//de 下标为3开始(包括3),到下表为5(不包括5)的字符串str.substring(5,3)//de 当第一个参数 > 第二个参数 时 该方法执行时会先交换两个参数,变成:str.substring(3,5)str.substring(-3) //abcdefg substring()不接受负数的参数,参数为负数是,返回原字符串

slice() 方法 slice() 方法可从已有的数组中返回选定的元素。
arrayObject.slice(start,end)
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var str="abcdefg"str.slice(3)// defg str.slice(3,5)// destr.slice(-2)//fgstr.slice(3,-2) //destr.slice(-4,-2) // de 负值参数从后面数起, -1表示最后一个元素str.slice(3,-6) //空数组,当第二个参数指定的元素索引 < 第一个餐宿指定的元素索引,返回空数组// 如果是数组,则返回一个新数组var arr = ['a','b','c','d','e','f','g']str.slice(3)// ['d','e','f','g']

总结 substr():第一个参数表示元素索引可以为负数, 第二个参数表示截取的字符串长度。
substring():两个参数都不接受负数,都表示元素索引,如果 第一个参数 比 第二个参数大,那么该方法在提取子串之前会先交换这两个参数。
slice(): 两个参数都接受负数,都表示元素索引, 如果 第一个参数 比 第二个参数大,返回空字符串。
到此这篇关于JS截取字符串的方法详解的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读