字符串截取的方法总结

前言:经常用的这些截取方法,记了忘,忘了记,在此记录一下,以便不时之需;

1.字符串截取

substring(),
slice(),方法可从已有的数组中返回选定的元素,也可用于字符串
substr()(ECMAscript未进行标准化,不建议使用),
以上三种都接受一个到两个参数;

substring(start, stop), slice(start,stop) 两个方法参数均为开始下标与结束下标,方法均用于提取字符串中介于两个指定下标之间的字符。但是substring两个参数均为非负整数,slice则可以为负数,具体区别见内容;

substr(start, length)方法可在字符串中抽取从 start 下标开始的指定数目的字符。start可为负数

  • 接受一个参数
let str = 'abcde';
str.substring(2); //"cde"
str.slice(2); //"cde"
str.substr(2) //"cde"
均为从index为2的字符截取到最后;
  • 接收两个参数
let str = 'abcdefh';
str.substring(2, 4); //"cd" 从index为2的字符开始(包含index为2的开始字符),截取到index为4,不包含index为4的结束字符
str.slice(2, 4); //"cd" 同substring
str.substr(2, 4) //"cdef",从index为2的字符开始(包含第三个),截取四个

上面可以看出,此时subtring()与slice()用法,结果相同
当参数有负数时,二者结果不同,如下
str.slice(2, -4) //'c' 相当于str.slice(2, 3)
-4(倒数第四个字符)转换成正数为str.length -4 = 3; 即str.slice(2, 3)

str.substring(2, -4) //'ab' 相当于str.substring(0, 2)
substring方法两个参数均要为非负整数,且如果 start > stop ,那么该方法在提取子串之前会先交换这两个参数。-4转化0,start,stop交换,最终为str.substring(0, 2)
当start>stop时,二者结果不同;
str.slice(2, 1) //''
当start> stop,返回空字符串

str.subString(2,1) //'b' 相当于str.subString(1, 2)
start > stop ,交换两个参数;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值