在 JavaScript 中替换字符串中的第一个字符
Replace the First Character in a String in JavaScript
要替换字符串中的第一个字符:
- 将索引处的字符分配
0
给变量。 - 使用该
String.replace()
方法替换字符串中的字符。 - 该
replace()
方法将返回一个替换了第一个字符的新字符串。
const str = 'bobbyhadz.com'; const char = str[0]; console.log(char); // 👉️ b const replaced = str.replace(char, '_'); console.log(replaced); // 👉️ _obbyhadz.com
我们传递给
String.replace()
方法的参数是:
- 字符串中要替换的子字符串。
- 替换字符串。
String.replace()
与正则表达式第一个参数一起使用的方法。但是,我们也可以使用字符串进行文字匹配。默认情况下,该String.replace()
方法仅替换字符串中的第一个匹配项,因此它完全符合我们的需要。
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()
字符串的结果存储到变量中,因为该方法不会更改原始字符串。
如果您必须经常这样做,请创建一个可重用的函数。
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() 替换字符串中的第一个字符
要替换字符串中的第一个字符:
- 使用该
String.slice()
方法获取从第二个字符开始的子字符串。 - 使用加法
+
运算符添加替换字符。
const str = 'bobbyhadz.com'; const replaced = '_' + str.slice(1); console.log(replaced); // 👉️ _obbyhadz.com
我们用下划线替换了字符串的第一个字符_
。
我们传递给
String.slice
方法的唯一参数是起始索引——要包含在返回字符串中的第一个字符的索引。
const str = 'bobbyhadz.com'; // 👇️ obbyhadz.com console.log(str.slice(1)); // 👇️ _obbyhadz.com console.log('_' + str.slice(1));
我们省略了原始字符串的第一个字符,并将替换字符串添加到其余部分。
0
,最后一个字符的索引为。 str.length - 1
请注意,该String.slice()
方法不会更改原始字符串。它返回一个新字符串,其中包含原始字符串的指定部分。
如果您需要用多个字符替换第一个字符,此方法也适用。
const str = 'bobbyhadz.com'; const replaced = '___' + str.substring(1); console.log(replaced); // 👉️ ___obbyhadz.com
该示例将索引处的字符替换为0
多个字符。
如果您必须经常这样做,请创建一个可重用的函数。
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() 替换字符串中的第一个字符
要替换字符串中的第一个字符:
- 使用该
String.substring()
方法获取从第二个字符开始的子字符串。 - 使用加法
+
运算符添加替换字符。
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()
方法返回一个空字符串。
const str = 'bobby'; console.log(str.substring(3, 0)); // 👉️ bob console.log(str.slice(3, 0)); // 👉️ ''
- 如果传递给的两个参数中的任何一个都
substring()
为负数,则将它们视为0
.
const str = 'bobby'; console.log(str.substring(-3)); // 👉️ bobby console.log(str.slice(-3)); // 👉️ bby
当给定一个负索引时,该slice()
方法从字符串的末尾向后计数以找到索引。
您选择哪种方法是个人喜好的问题。我会使用该
String.slice()
方法,因为我发现它是 3 种方法中最直接和直观的。