substring()和substr()的比较

substring()和substr()只有在参数为一个正数时,取得的效果才相同。

 

.substring(start[,stop])

用于提取字符串中介于两个指定下标之间的字符。返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

var str = 'abcdefg';
var str2 = str.substring(2,4);//下标从0开始,返回的字符串长度为:4-2,返回结果:cd
var str3 = str.substring(4,2);//返回结果:cd,与str2相同,返回前交换了start和end的值
var str4 = str.substring(2);//返回结果:cdefg
var str5 = str.substring(-2);//返回:abcdefg

1. 不能接受负的参数,直接返回了整个字符串。
2. 返回的子串包括 start 处的字符,但不包括 stop 处的字符。
3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数,如str3。
4. 如果没有stop参数,返回结果从下标start到字符串结束。

 

.substr(start[,len])

在字符串中抽取从 star下标开始的指定len长度的字符。返回一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 len 个字符。如果没有指定 len,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

var str = 'abcdefg';
var str2 = str.substr(2,4);//下标从0开始,返回的字符串长度为:4,返回结果:cdef
var str3 = str.substr(4,2);//返回的字符串长度为:2,返回结果:ef
var str4 = str.substr(2);//返回结果:cdefg
var str5 = str.substr(-2);//返回结果:fg
var str6 = str.substr(-2,10);//要返回的长度是10,但返回结果:fg
var str7 = str.substr(-2,-10);//要返回的长度是-10,返回空字符串

1. 要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
2. 重要事项:ECMAscript 没有对该方法进行标准化,**因此反对使用它**。在某些浏览器中start下标使用负值,直接返回了全部字符串。

 

 

转载:https://blog.csdn.net/just4you/article/details/53020804  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值