JS学习36:字符串的slice/substring/substr

1、字符串的位置

直接看图:

2、字符串的slice

slice的意思是切片、切割。同样,在字符串中slice就是起到切割的作用。

在js中,slice方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。最多接收2个参数:

  • 参数1(可选):截取字符串的开始位置。若未指定,则默认为字符串开始位置;若负数,则从字符串的尾部开始算起的位置,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
  • 参数2(可选):截取字符串的结束位置之前。若未指定,则默认为字符串结尾位置;若为负数,则从字符串的尾部开始算起的位置,-1表示最后一个字符,-2表示倒数第二个字符,以此类推。

如果不符合参数规则或无法截取,则返回空字符串。

例如:


  
  
  1. var str = "hello @云淡然";
  2. console.log(str.slice());
  3. // "hello @云淡然"
  4. console.log(str.slice(1));
  5. // "ello @云淡然"
  6. console.log(str.slice(1, 2));
  7. // "e"
  8. console.log(str.slice(1, -2));
  9. // "ello @云"
  10. console.log(str.slice(-1));
  11. // "然"
  12. console.log(str.slice(-2, -1));
  13. // "淡"
  14. console.log(str.slice(-1, -2));
  15. // ""

3、字符串的substring

substring意思是子串,字符串的子串,与slice类似。同样使用方法也非常的类似。

在js中,substring方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。最多接收2个参数:

  • 参数1(可选):提取字符串的开始位置,负数会自动转为0。
  • 参数2(可选):提取字符串的结束位置之前,负数会自动转为0。

如果不符合参数规则或无法截取,则返回空字符串。

例如:


  
  
  1. var str = "hello @云淡然";
  2. console.log(str.substring());
  3. // "hello @云淡然"
  4. console.log(str.substring(1));
  5. // "ello @云淡然"
  6. console.log(str.substring(1, 2));
  7. // "e"
  8. console.log(str.substring(1, -2));
  9. console.log(str.substring(1, 0));
  10. console.log(str.substring(0, 1));
  11. // "h"
  12. console.log(str.substring(-1));
  13. console.log(str.substring(0));
  14. // "hello @云淡然"
  15. console.log(str.substring(-2, -1));
  16. console.log(str.substring(0, 0));
  17. // ""
  18. console.log(str.substring(-1, -2));
  19. console.log(str.substring(0, 0));
  20. // ""
注意:如果参数1的数值大于参数2的数值,则交换两个参数。

如:


  
  
  1. var str = "hello @云淡然";
  2. str.substring(1, -2);
  3. // 第2个参数小于0,则转为0
  4. str.substring(1, 0);
  5. // 第1个参数大于第2个参数,交换参数
  6. str.substring(0, 1);
  7. // "h"

4、字符串的substr

substr是substring的缩写,功能与substring有些不一样,可想而知,substr是为了妥协才想出来这么一个让人混淆的名称。同样的情况,在javascript中出现的情况真不少。

在js中,substr方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。最多接收2个参数:

  • 参数1(可选):截取字符串的开始位置。若未指定,则默认为字符串开始位置;若为负数,则从字符串的尾部开始算起的位置,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
  • 参数2(可选):截取字符串的长度,必须为正数。若未指定,则默认为字符串的剩余长度。

如果不符合参数规则或无法截取,则返回空字符串。

例如:


  
  
  1. var str = "hello @云淡然";
  2. console.log(str.substr());
  3. // "hello @云淡然"
  4. console.log(str.substr(1));
  5. // "ello @云淡然"
  6. console.log(str.substr(1, 2));
  7. // "el"
  8. console.log(str.substr(1, -2));
  9. // ""
  10. console.log(str.substr(-1));
  11. // "然"
  12. console.log(str.substr(-2, -1));
  13. // ""
  14. console.log(str.substr(-1, -2));
  15. // ""

5、参考资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值