📜  Javascript字符串substring()

📅  最后修改于: 2020-09-27 07:18:05             🧑  作者: Mango

JavaScript String 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:使用子字符串
let string = "Programiz JavaScript Tutorials";

// first character
substr1 = string.substring(0, 1);
console.log(substr1); // P

// if start > end, they are swapped
substr2 = string.substring(1, 0);
console.log(substr2); // P

// From 11th to last character
substr3 = string.substring(10);
console.log(substr3); // JavaScript Tutorials

// the extreme values are 0 and str.length

// same as string.substring(0)
substr4 = string.substring(-44, 90);
console.log(substr4); // Programiz JavaScript Tutorials

// indexEnd is exclusive
substr5 = string.substring(0, string.length - 1);
console.log(substr5); // Programiz JavaScript Tutorial

输出

P
P
JavaScript Tutorials
Programiz JavaScript Tutorials
Programiz JavaScript Tutorial

示例2:替换字符串中的子字符串
// Replaces old characters with new characters in a string
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()