JavaScript substring() 语法
substring() 是 JavaScript 字符串的一个方法,它用于截取字符串的一部分,并返回截取部分。
语法:
str.substring(start, end)说明:
substring() 方法接收以下 2 个参数。
start(可选):截取的开始下标(包含)。如果省略,则表示从下标 0 开始。end(可选):截取的结束下标(不含)。如果省略,则表示截取到末尾。
substring(start, end) 截取范围为:[start, end),也就是:包含 start 但不包含 end。其中,end 可以省略。当 end 省略时,获取的范围为:start 到结尾。
如果 start 大于 end,则 substring() 会自动交换这两个参数,以确保 start 总是小于或等于 end。
注意:
- substring() 方法不会修改原字符串,而是返回一个新字符串。
- substring() 方法的参数不能是负下标,而 slice() 方法的参数可以是负下标。
- 对于 substring() 方法来说,任何小于 0 的参数值都会被视为 0,而任何大于 str.length 的参数值都会被视为 str.length。
JavaScript substring() 摘要
| 属于 | JavaScript 截取字符串 |
|---|---|
| 使用频率 | 中 |
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript substring() 示例
接下来,我们通过几个简单的例子来讲解一下 JavaScript substring() 方法是如何使用的。
示例 1:substring() 带 1 个参数
const str = "JavaScript";
const result = str.substring(2);
console.log(str);
console.log(result);运行结果如下。
JavaScript
vaScript分析:
str.substring(2) 表示截取的范围为:下标 2 到结尾。从结果也能看出来,substring() 方法不会修改原字符串,而是返回一个新的字符串。
示例 2:substring() 带 2 个参数
const str = "JavaScript";
const result = str.substring(0, 4);
console.log(result);运行结果如下。
Java分析:
str.substring(0, 4) 表示截取的范围为:[0, 4),注意是包括 0 但不包括 4。
示例 3:substring() 不带参数
const str = "JavaScript";
const result = str.substring();
console.log(result);运行结果如下。
JavaScript分析:
当 substring() 方法不带参数时,表示截取整个字符串,相当于复制字符串。
示例 4:当 start 大于 end
const str = "JavaScript";
const result = str.substring(3, 0);
console.log(result);运行结果如下。
Jav分析:
当 start 大于 end 时,substring() 会交换这两个参数的位置(目的是为了避免报错)。也就是说,substring(3, 0) 会自动转换为 substring(0, 3),此时表示截取范围为:[0, 3)。
注意: slice() 与 substring() 不一样。当 start 大于 end 时,slice() 方法不会交换两个参数的位置,而是返回空字符串。
slice()、substring() 与 substr()
slice()、substring() 和 substr() 这 3 个方法都用于截取字符串的一部分,初学的小伙伴很容易将它们混淆,这里来总结一下。
- substr() 方法已经被废弃,因此该方法不需要再去了解。
- slice() 和 substring() 的用法相差无几,不过 slice() 的功能更加强大,因为它可以使用负下标。
对于初学者而言,我们只需要重点掌握 slice() 这一个方法即可。
