在 JavaScript 中替换字符串中的第一个字符

在 JavaScript 中替换字符串中的第一个字符

Replace the First Character in a String in JavaScript

要替换字符串中的第一个字符:

  1. 将索引处的字符分配0给变量。
  2. 使用该String.replace()方法替换字符串中的字符。
  3. replace()方法将返回一个替换了第一个字符的新字符串。
索引.js
const str = 'bobbyhadz.com'; const char = str[0]; console.log(char); // 👉️ b const replaced = str.replace(char, '_'); console.log(replaced); // 👉️ _obbyhadz.com

我们传递给
String.replace()
方法的参数是:

  1. 字符串中要替换的子字符串。
  2. 替换字符串。
您将最常看到String.replace()与正则表达式第一个参数一起使用的方法。但是,我们也可以使用字符串进行文字匹配。

默认情况下,该String.replace()方法仅替换字符串中的第一个匹配项,因此它完全符合我们的需要。

索引.js
const str = 'best'; const char = str[0]; console.log(char); // 👉️ b const replaced = str.replace(char, 't'); console.log(replaced); // 👉️ test
String.replace()方法不会改变原始字符串,它会返回一个替换了一个或多个匹配项的新字符串。字符串在 JavaScript 中是不可变的。

确保将调用String.replace()字符串的结果存储到变量中,因为该方法不会更改原始字符串。

如果您必须经常这样做,请创建一个可重用的函数。

索引.js
function replaceFirstChar(string, replacement) { const firstChar = string[0]; return string.replace(firstChar, replacement); } const result1 = replaceFirstChar('bobby', '_'); console.log(result1); // 👉️ _obby const result2 = replaceFirstChar('hello', 'x'); console.log(result2); // 👉️ xello

该函数将字符串和替换字符作为参数并替换字符串中的第一个字符。

或者,您可以使用该String.slice()方法。

使用 String.slice() 替换字符串中的第一个字符

要替换字符串中的第一个字符:

  1. 使用该String.slice()方法获取从第二个字符开始的子字符串。
  2. 使用加法+运算符添加替换字符。
索引.js
const str = 'bobbyhadz.com'; const replaced = '_' + str.slice(1); console.log(replaced); // 👉️ _obbyhadz.com

我们用下划线替换了字符串的第一个字符_

我们传递给
String.slice
方法的唯一参数是
起始索引——要包含在返回字符串中的第一个字符的索引。

索引.js
const str = 'bobbyhadz.com'; // 👇️ obbyhadz.com console.log(str.slice(1)); // 👇️ _obbyhadz.com console.log('_' + str.slice(1));

我们省略了原始字符串的第一个字符,并将替换字符串添加到其余部分。

JavaScript 索引是从零开始的。字符串中第一个字符的索引为0,最后一个字符的索引为 str.length - 1

请注意,该String.slice()方法不会更改原始字符串。它返回一个新字符串,其中包含原始字符串的指定部分。

如果您需要用多个字符替换第一个字符,此方法也适用。

索引.js
const str = 'bobbyhadz.com'; const replaced = '___' + str.substring(1); console.log(replaced); // 👉️ ___obbyhadz.com

该示例将索引处的字符替换为0多个字符。

如果您必须经常这样做,请创建一个可重用的函数。

索引.js
function replaceFirstCharacter(string, replacement) { return replacement + string.slice(1); } const str = 'bobbyhadz.com'; const result1 = replaceFirstCharacter(str, '_'); console.log(result1); // 👉️ _obbyhadz.com const result2 = replaceFirstCharacter(str, '@'); console.log(result2); // 👉️ @obbyhadz.com

该函数将字符串和替换字符作为参数,并替换字符串中的第一个字符。

或者,您可以使用该String.substring()方法。

使用 String.substring() 替换字符串中的第一个字符

要替换字符串中的第一个字符:

  1. 使用该String.substring()方法获取从第二个字符开始的子字符串。
  2. 使用加法+运算符添加替换字符。
索引.js
const str = 'bobbyhadz.com'; const replaced = '_' + str.substring(1); console.log(replaced); // 👉️ _obbyhadz.com

我们用下划线替换了字符串的第一个字符_

String.substring()
方法返回从开始索引到排除结束索引的字符串片段

该方法采用以下参数:

姓名 描述
起始索引 要包含在返回的子字符串中的第一个字符的索引
结束索引 要从返回的子字符串中排除的第一个字符的索引

如果未end指定索引,则切片将转到字符串的末尾。

我们使用String.slice()String.substring() 方法以相同的方式替换字符串中的第一个字符。

但是,这两种方法之间存在一些重要差异。

和方法
之间
有几个
区别String.substring()String.slice()

  • substring()如果开始索引大于结束索引,则该方法交换其开始索引和结束索引。在这种情况下,该slice()方法返回一个空字符串。
索引.js
const str = 'bobby'; console.log(str.substring(3, 0)); // 👉️ bob console.log(str.slice(3, 0)); // 👉️ ''
  • 如果传递给的两个参数中的任何一个都substring()为负数,则将它们视为0.
索引.js
const str = 'bobby'; console.log(str.substring(-3)); // 👉️ bobby console.log(str.slice(-3)); // 👉️ bby

当给定一个负索引时,该slice()方法从字符串的末尾向后计数以找到索引。

您选择哪种方法是个人喜好的问题。我会使用该
String.slice()方法,因为我发现它是 3 种方法中最直接和直观的。