在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
基础教程推荐
- Django操作cookie的实现 2024-04-15
- JSONObject与JSONArray使用方法解析 2024-02-07
- Bootstrap学习笔记之css组件(3) 2024-01-22
- 创建Vue3.0需要安装哪些脚手架 2025-01-16
- Loaders.css免费开源加载动画框架介绍 2025-01-23
- 纯css实现漂亮又健壮的tooltip的方法 2024-01-23
- js判断一个对象是否在一个对象数组中(场景分析) 2022-10-21
- html5视频如何嵌入到网页(视频代码) 2025-01-22
- clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析 2024-01-08
- webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件 2023-10-29
