substr与substring的语法
string.substr(start, len)
string 被截取的字符串
start 开始的位置
len 截取的长度
string.substring(from, to)
string 被截取的字符串
from 开始的位置
to 结束的位置(返回的字符不包含当前位置)
实例:
var str = "hello world!";
var ret = str.substr(1,3);
console.log(ret)
var ret1 = str.substring(1,3);
console.log(ret1)
输出:
ell
el
substr(1,3)是从位置1开始,取3个长度,返回ell
substring(1,3)是从位置1开始到位置3结束,并不含位置3的字符,所以返回el
如果第2个参数不填写,则substr和substring方法均获取的是从当前位置到最后:
var str = "hello world!";
var ret = str.substr(1);
console.log(ret)
var ret1 = str.substring(1);
console.log(ret1)
ello world!
ello world!
如果两个参数都不填的话则字符串原样返回,这样来说等于没做任何的截取操作。
这两方法还有一个区别是substring的第一个参数为非负整数,如果填入负数,则默认为0.
var str = "hello world!";
var ret1 = str.substring(-2,3);
console.log(ret1)
返回 : hel 第一个参数和填入0 是一样的
substr是第一个参数是允许负数的,表示从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推!
var str = "hello world!";
var ret = str.substr(-2)
console.log(ret)
输出 :
d!