跳到主要内容

JavaScript 字符串 substring() 方法

substring() 方法返回字符串中开始和结束索引之间的指定部分。

示例

const message = "JavaScript is fun.";

// 获取从索引 0 到 10 的子字符串
let result = message.substring(0, 10);
console.log(result);

// 输出:JavaScript

substring() 语法

substring() 方法的语法是:

str.substring(indexStart, indexEnd);

这里,str 是一个字符串。

substring() 参数

substring() 方法接受:

  • indexStart - 要在返回的子字符串中开始包含的第一个字符的索引。
  • indexEnd(可选)- 停止提取之前的索引。(不包括此索引)如果省略,它会提取直到字符串的末尾。

注意:

  • 任何 < 0 的参数值 被视为 0
  • 任何 > str.length 的参数值 被视为 str.length
  • 任何 NaN 参数值被视为 0
  • 如果 indexStart 大于 indexEnd,则交换这两个参数,即 str.substring(a, b) 将会是 str.substring(b, a)

substring() 返回值

  • 返回一个新字符串,包含给定字符串的指定部分。

注意substring() 不会更改原始字符串。

示例 1:使用 substring

let string = "马上学123 JavaScript Tutorials";

// 第一个字符
substr1 = string.substring(0, 1);
console.log(substr1); // P

// 如果 start > end,它们会交换
substr2 = string.substring(1, 0);
console.log(substr2); // P

// 从第 11 个字符到最后一个字符
substr3 = string.substring(10);
console.log(substr3); // JavaScript Tutorials

// 极端值是 0 和 str.length

// 等同于 string.substring(0)
substr4 = string.substring(-44, 90);
console.log(substr4); // 马上学123 JavaScript Tutorials

// indexEnd 是排他的
substr5 = string.substring(0, string.length - 1);
console.log(substr5); // 马上学123 JavaScript Tutorial

输出

P
P
JavaScript Tutorials
马上学123 JavaScript Tutorials
马上学123 JavaScript Tutorial

示例 2:在字符串中替换子字符串

// 在字符串中用新字符替换旧字符
function replaceString(oldChars, newChars, string) {
for (let i = 0; i < string.length; ++i) {
if (string.substring(i, i + oldChars.length) == oldChars) {
string =
string.substring(0, i) +
newChars +
string.substring(i + oldChars.length, string.length);
}
}
return string;
}

const string = "Java Tutorials";
let newString = replaceString("Java", "JavaScript", string);
console.log(newString); // JavaScript Tutorials

输出

JavaScript Tutorials

推荐阅读: JavaScript String slice()