详解substring substr splice 函数

1.substring(start,stop)接收两个参数,第一个参数start为必选参数,表示截取的起点位置下标;第二个参数stop为结束位置下标。返回值为substring中位置为[start,stop)的一个子字符串。两个参数要求为非负整数。

举例说明:

let string = '0123456789';
string.substring(0,2) // 01
string.substring(2,0) //01  start > stop 默认二者调换位置
string.substring(-2,0) // '' start < 0,stop = 0 空字符串
string.substring(-2,1) // 0  start < 0, stop > 0; 默认start为0
string.substring(1);  // 123456789
string.substring(-1);  // 0123456789

总结起来就是:

substring参数只有一个start的话,会从start位置开始截取到末尾,若start < 0,则 start = 0;

若参数为两个,首先会比较start和stop的大小,值小的放到前面,若为负值则转化为0,截取范围为左闭右开区间;

2.substr(start,stop)也可以接收两个参数,start为必选,表示起始位置下标;stop为可选项,表示想要截取到的字符串的长度。

举例说明:

let string = '0123456789';

//一个参数下:
string.substr(0) // 0123456789 
string.substr(-2) // 89 从结尾处向左查询,相当于 string.substr(-2,2)
string.substr(-11) // 0123456789 从结尾处向左查询,超过最大值停留在下标为0的位置

//两个参数下
string.substr(0,2) // 01
string.substr(-3,2) // 78 返回值为父级字符串的长度
string.substr(1,-2) // '' 长度小于1,返回空字符串

总结起来就是:

substr只有一个参数start的话,返回值为下标位置处,到结尾处。若start < 0,会从结尾处开始算下标,并一直截取到结尾处;若start > string.length - 1,返回值为"";

若有两个参数start,stop,stop < 0 的情况下,返回值为""字符串;stop > 0, start < 0,会从结尾处开始算下标,并向右查询长度为stop的字符串。

3.slice同时具有substring和substr的一些特点。可接收两个参数(start,stop),start为必选,stop为可选。

举例说明:

let string = '0123456789';
//只有一个参数的情况下
string.slice(1) // 123456789;
string.slice(-3) // 789;

// 两个参数
string.slice(-3,11) // 789 从结尾处开始的3下标和从开始处的11下标比较,必须保证可以向右截取到,否则为'';
string.slice(-3,1)  // '';
string.slice(0,-2)  // 01234567;

总结起来就是:

slice与substring相同的地方是都是取两个下标构成的左闭右开区间范围内的字符串,不同的是slice不能根据两个参数的大小互换位置,若第二个参数stop < 0,则string.length + stop作为结束位置的下标。
slice与substr相同的地方为都可以接收一个负参数从结尾处开始查询。

 

转载于:https://my.oschina.net/u/3118385/blog/853658

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值