JavaScript 字符串 substring() 方法

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() 这一个方法即可。

上一篇: slice()

下一篇: replace()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号