JavaScript 字符串 substring() 方法

JavaScript 字符串 substring() 方法

JavaScript 是一门广泛应用于前端开发的脚本语言,字符串在 JavaScript 中占据了极其重要的地位。而其中一个非常有用的字符串方法就是 substring()

什么是 substring() 方法

substring() 方法是 JavaScript 字符串对象都有的方法,它用来截取字符串中的一部分,从而产生一个新的字符串。

substring() 语法

语法为:

string.substring(indexStart, indexEnd)

其中 string 是必选项,代表源字符串;indexStartindexEnd 则是可选参数,分别代表待截取子串的起始和结束下标。同时需要注意,substring() 会将 indexStartindexEnd 转换成正整数,若不是,则省略该参数。

substring() 参数说明

  • indexStart:必需,起始下标,支持负数,若为负数则其绝对值应小于字符串长度,转换为 0。
  • indexEnd:可选,结束下标,支持负数,若省略,则返回源字符串从 indexStart 开始到字符串末尾的子字符串。若为负数,则应小于字符串长度,且需要大于 indexStart 参数。

substring() 的返回值

返回从 indexStart 下标开始,到 indexEnd 下标结束的子串,不包括 indexEnd

let str = "The quick brown fox";
console.log(str.substring(0, 3)); // "The"
console.log(str.substring(4, 9)); // "quick"
console.log(str.substring(16)); // "fox"
console.log(str.substring(-3)); // "The quick brown fo"
console.log(str.substring(4, -2)); // "The quick brow"

其中最后一行代码中的参数 -2 将被转换成 0。

substring() 和 substr() 的区别

substring()substr() 都是截取字符串的方法,但它们使用的参数有所不同。substring() 使用的是起始和结束下标,而 substr() 使用的是起始下标和截取的字符的数量。

例如,对于字符串 'helloworld',截取 'hello' 可以使用以下代码:

console.log('helloworld'.substring(0,5)); // "hello"
console.log('helloworld'.substr(0,5)); // "hello"

但当需要使用起始下标和结束下标在第一个参数为负数时,它们的截取结果则会有所不同。

console.log('helloworld'.substring(-3,5)); // "hello"
console.log('helloworld'.substr(-3,5)); // "worl"

这是由于 substr() 将负数怎么与字符串长度相加从而得到正确的起始下标,而 substring() 则将负数作为 0 来处理。因此在使用时,应根据实际需要选择合适的方法。

结论

substring() 方法是 JavaScript 字符串对象上的一个非常有用的方法,它允许我们在不改变原字符串的情况下,提取字符串的子串。当需要使用起始和结束下标截取字符串时,我们可以优先考虑使用 substring() 方法,并了解其与 substr() 方法的区别,以便选择合适的方法来完成我们的需求。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程