JS中的substr和substring方法详解

JS中的substr和substring方法详解

JS中的substr和substring方法详解

JavaScript 中,有两个常用的字符串方法 substrsubstring,它们用于提取字符串中的子字符串。虽然它们的功能类似,但是它们之间还是存在一些区别,本文将详细解释它们的用法、区别以及示例。

1. substr方法

substr 方法可以从字符串中提取指定长度的字符。它接受两个参数,即起始位置和子字符串的长度。语法如下:

string.substr(start, length)
  • start:表示从哪个位置开始提取子字符串。如果为负数,则表示从字符串末尾开始的位置(-1 为倒数第一个字符)。
  • length:表示要提取的子字符串的长度。如果省略该参数,则会一直提取到字符串末尾。

示例

let str = "Hello, World!";
let sub1 = str.substr(3, 5);
console.log(sub1); // Output: "lo, W"

let sub2 = str.substr(-6);
console.log(sub2); // Output: "World!"

在上面的示例中,我们使用 substr 方法从字符串 str 中提取子字符串。在第一个示例中,开始位置为 3,长度为 5,因此我们得到的子字符串是 “lo, W”。在第二个示例中,我们将负数作为开始位置,表示从倒数第六个字符开始提取,最终结果是 “World!”。

2. substring方法

substring 方法与 substr 类似,都是用于从字符串中提取子字符串。不同之处在于,substring 方法接受的参数是起始位置和终止位置,而不是起始位置和长度。语法如下:

string.substring(start, end)
  • start:表示从哪个位置开始提取子字符串。
  • end:表示从哪个位置停止提取子字符串(不包括该位置处的字符)。如果省略该参数,则会一直提取到字符串末尾。

示例

let str = "Hello, World!";
let sub1 = str.substring(3, 8);
console.log(sub1); // Output: "lo, W"

let sub2 = str.substring(7);
console.log(sub2); // Output: "World!"

在上面的示例中,我们使用 substring 方法从字符串 str 中提取子字符串。在第一个示例中,起始位置为 3,终止位置为 8,因此我们得到的子字符串是 “lo, W”。在第二个示例中,我们只提供了起始位置,因此子字符串会一直提取到字符串末尾,最终结果是 “World!”。

3. 区别与注意事项

虽然 substrsubstring 在功能上类似,但是它们之间还是存在一些区别和注意事项:

  • substr 方法的第二个参数是提取的子字符串的长度,而 substring 方法的第二个参数是终止位置。
  • 如果 substr 的第一个参数为负数,它表示的是从字符串末尾开始的位置;但是如果 substring 的参数为负数,会被当做 0 处理。
  • 如果 substr 的第二个参数为负数,会被当做 0 处理;而 substring 的第二个参数如果小于第一个参数,两者会被交换,然后提取子字符串。
  • 如果 substr 的第二个参数为零或负数,将返回一个空字符串;而 substring 的两个参数如果相等,也会返回一个空字符串。
  • 如果 substrsubstring 的第一个参数超过了字符串的长度,返回的将会是空字符串。

4. 总结

JavaScript 中,substrsubstring 方法都是用于从字符串中提取子字符串的常用方法。它们的区别在于参数的不同解释方式,使用时需要根据具体需要来选择合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程