字符串截取
1、js中字符串的截取
(1)substring()
substring(start,end)
start:开始的位置,必填项,从0开始,且包含在所截取的字符串中
end:结束位置,非必填,不包含截取的字符串中
注意事项:
1. substring() 包含start处的字符,但不包含end中的字符
2. 如果start与end相等,返回一个空字符串即
3. 如果start大于end,substring()会交换start和end的值
4. start和end的值为负值,substring()读取start和end时会读取0
5. 如果end不填,substring()截取从start到结束的字符串
6. 如果start和end的取值超过字符串的长度,substring()读取start和end时会读取字符串的长度
"abcdfg".substring(1,5)//"bcdf"
"abcdfg".substring(1,1)//""
"abcdfg".substring(5,1)//"bcdf"
"abcdfg".substring(-1,2)//"ab"
"abcdfg".substring(1)//"bcdfg"
"abcdfg".substring(5,9)//"g"
(2)substr()
substr(start,length)
start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。 说明 如果 length 为 0 或负数,将返回一个空字符
注意事项:
1.如果length不填,则返回从start到结束之间的字符串
2.如果start为负数,则start声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推
3.如果length为负数,则length=0
4.如果start超过字符串的长度,则返回空字符串
5.如果length超过字符串的长度,则返回从start到结束位置的字符串
6.如果start为负数,且start的绝对值大于字符串的长度,则start取0
"abcdfg".substr(2)//"cdfg"
"abcdfg".substr(-2)//"fg"
"abcdfg".substr(-2,1)//"f"
"abcdfg".substr(0,-1)//""
"abcdfg".substr(7,1)//""
"abcdfg".substr(2,9)//"cdfg"
"abcdfg".substr(-7,9)//"abcdfg"
(3)slice()
slice(start,end)
start:必填,起始下标,从0开始。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end:非必填,结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
1.如果start大于或等于字符串的长度,则slice()返回一个空字符串
2.如果start为负数,且start的绝对值大于字符串的长度,则start取0
3.如果start≥end,则返回空字符串
4.如果start为负数,则start = start + length;length为字符串的长度
5.slice()不包含end所在的字符
"abcdfg".slice(6)//""
"abcdfg".slice(-9)//"abcdfg"
"abcdfg".slice(5,4)//""
"abcdfg".slice(1,1)//""
"abcdfg".slice(-4,5)//"cdf"