在JavaScript字符串操作中,substr()和substring()是两个常用的函数,都用来截取字符串。但在具体应用场景和实现方式有所不同,因此需要深入理解其差异。
深入理解JS中的substr和substring
在JavaScript字符串操作中,substr()
和substring()
是两个常用的函数,都用来截取字符串。但在具体应用场景和实现方式有所不同,因此需要深入理解其差异。
substr()
substr()
函数接受两个参数,第一个参数是截取的起始位置,第二个参数是截取的长度。如果省略第二个参数,则默认截取至字符串的尾部。该函数也可以接受负数参数,表示从字符串尾部开始计数。
示例1:
let str = 'Hello, world!';
let subStr = str.substr(7, 5);
console.log(subStr); // 输出 "world"
在上面的例子中,substr(7, 5)
表示从第7个位置(从0开始计数)开始,截取长度为5的字符串。因此输出结果为"world"。
示例2:
let str='Hello world!';
let subStr=str.substr(-6,2);
console.log(subStr);//输出:'ld'
在上面的例子中,substr()
的第一个参数为负数,表示从字符串尾部开始截取,起始位置为倒数第6位(l字母),2
表示截取的长度,即从上一个起始位置开始截取两位,输出结果为"ld"。
substring()
与substr()
类似,substring()
也用来截取字符串,但它接受两个参数,第一个参数是截取的起始位置,第二个参数是截取的终止位置(不包含终止位置本身)。如果省略第二个参数,则默认截取至字符串的尾部。substring()
不支持负数参数。
示例1:
let str = 'Hello, world!';
let subStr = str.substring(7, 12);
console.log(subStr); // 输出 "world"
在上面的例子中,substring(7, 12)
表示从第7个位置(从0开始计数)开始截取,到第12个位置(不包含第12个位置),因此输出结果为"world"。
示例2:
let str='Hello world!';
let subStr=str.substring(6);
console.log(subStr);//输出:'world!'
在上面的例子中,substring()
的第一个参数表示从截取的起始位置,即位置6开始截取,由于省略了第二个参数,因此截取到了字符串尾部,输出结果为"world!"。
总结
substr()
根据起始位置和长度截取字符串,支持负数参数,即从字符串尾部开始计数。substring()
根据起始位置和终止位置截取字符串,不支持负数参数。- 两者的区别在于第二个参数的含义,
substr()
表示截取的长度,substring()
表示截取的终止位置。 - 除非有特别需求,建议使用
substring()
函数。
本文标题为:深入理解JS中的substr和substring
- 关于wepy小程序引入echarts统计图之后出现定位穿透问题的解决方案 2022-10-29
- vue-router的两种模式 2023-10-08
- 微信小程序模板与设置WXML实例讲解 2022-10-22
- ajax无刷新分页的简单实现 2022-12-28
- Ajax异步请求技术实例讲解 2023-02-14
- vue-electron中修改表格内容并修改样式 2023-07-09
- vue-cli3项目三之模块化vuex 2023-10-08
- JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox) 2023-11-30
- Ajax验证用户名是否存在的实例代码 2023-02-23
- uni-app实现视频组件播放和暂停 2023-08-29