使用 JavaScript 在另一个字符串的指定位置插入字符串


本文将教你如何在另一个字符串中插入字符串。

JavaScript 没有提供直接的方法来实现这一点。为此,我们可以使用 slice 方法。slice 方法提取字符串的一部分并返回一个新字符串。除了slice()方法外,我们还可以使用join()substr()方法。

使用 String 类的 slice() 方法

slice()方法获取字符串的一部分并返回从字符串中提取的部分,并创建一个新字符串。以下是 slice() 方法的语法。

String.slice(start, end);

以下是此方法的参数:

  • 开始 - 开始参数是必需的。它标识从哪里开始提取。第一个字符从字符串中的索引 0 开始。

  • 结束 - 此参数是可选的。它指定停止提取的位置。如果未使用,则 slice() 会从开始位置选择所有字符到末尾。

  • 返回值 - 它返回一个字符串,表示字符串的提取部分。

示例

让我们来看一个例子:

<!DOCTYPE html>
<html>
<head>
   <title>Insert the string at position X of another string in javascript.</title>
</head>
<body>
   <script>
      function insertAtX(str1, str2, x) {
         return `${str1.slice(0, x)}${str2}${str1.slice(x)}`
      }
      document.write(insertAtX("Hello World", "Test", 5));
   </script>
</body>
</html>

使用 Array 类的 join() 方法

此方法将数组中的元素添加到字符串中并返回该字符串。元素将由指定的分割符分隔。默认情况下,逗号 (,) 被视为分隔符。以下是 join() 方法的语法:

Array.join(separator)

其中分隔符是一个可选参数。它指定要使用的分隔符,默认情况下,此参数的值为逗号 (,)。

此方法返回一个字符串,表示数组值,由定义的分隔符分隔。

示例

在下面的示例中,我们使用slice()和join()方法将一个字符串插入另一个字符串。

<!DOCTYPE html>
<html>
<head>
   <title>Insert the string at position X of another string in javascript.</title>
</head>
<body style="text-align: center" id="body">
   <h1 style="color: green">tutorialspoint Easy to Learn</h1>
   <p id="demo1"></p>
   <button onclick="tutFunc(); ">click here</button>
   <p id="demo2"></p>
   <script>
      var res1 = document.getElementById("demo1");
      var res2 = document.getElementById("demo2");
      var val1 = "tutorialsLearn";
      var val2 = "point Easy to ";
      var pos = 9;
      //printing both of the string in demo1
      demo1.innerHTML = "string first = " + val1 + "<br> string second = " + val2;
      function tutFunc() {
        //here we are printing new strings after extracted and Joined
        demo2.innerHTML = [val1.slice(0, pos), val2, val1.slice(pos)].join("");
      }
   </script>
</body>
</html>

使用 String 类的 substr() 方法

此方法获取字符串的一部分,从定义位置的字符开始,并返回指定数量的字符。以下是substr()方法的语法。

String.substr(start, length)

其中,

  • 开始标识从哪里开始提取。字符串的第一个字符位于索引 0。

    如果开始为正且大于或等于字符串的长度,则此方法返回空字符串。

    如果开始为负,则此方法将其用作从末尾开始的索引。

    如果开始为负或大于字符串的长度,则开始将用作 0。

  • 长度 - 此参数是可选的。它标识需要提取的字符数。如果未使用,它会提取整个字符串。

此方法返回包含提取文本部分的新字符串。如果长度为 0 或负数,则返回空字符串。

示例

在下面的示例中,我们使用substr()方法将一个字符串插入另一个字符串。

<!DOCTYPE html>
<html>
<head>
   <title>Insert the string at position X of another string in javascript.</title>
</head>
   <body style="text-align: center" id="body">
   <h1 style="color: green">tutorialspoint Easy to Learn</h1>
   <p id="demo1"></p>
   <button onclick="tutFunc(); ">click here</button>
   <p id="demo2"></p>
   <script>
      var res1 = document.getElementById("demo1");
      var res2 = document.getElementById("demo2");
      var val1 = "tutorialsLearn";
      var val2 = "point Easy to ";
      var pos = 9;
      //printing both of the string in demo1
      res1.innerHTML =
      "string first = " + val1 + "<br> string second = " + val2;
      function tutFunc() {
         //here we are printing new string after extracted and Joined
         res2.innerHTML = val1.substr(0, pos) + val2 + val1.substr(pos);
      }
   </script>
</body>
</html>

更新于:2022-12-19

799 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告