原文: https://www.freecodecamp.org/news/javascript-remove-char-from-string/

操作字符串是编程的一项基本技能。

用 JavaScript 编写代码时可能会遇到的一个常见任务是从字符串中修剪字符。修剪包括删除字符串开头和/或末尾的特定字符。这些字符可以是前后空格、制表符、换行符或末尾逗号。

你可能还想删除程序中不需要的特定字符,并用其他字符代替。

在本文中,你将了解到一些在 JavaScript 中修剪和删除字符串中的字符的方法。

如何使用 JavaScript 中的 trim() 方法删除空格

你可以使用内置的 trim() 方法删除字符串开头和末尾的空格。

下面是 trim() 方法的一般语法:

string.trim()

直接在要修剪的字符串上调用 trim() 方法。该方法会删除字符串开头和末尾的空格,如空格、制表符或换行符。

请注意,trim() 方法不会修改原始字符串。相反,它会返回一个经过修剪的新字符串,并去掉开头和末尾的字符。

下面是一个例子:

let greeting = "    Hello World    ";

let trimmedGreeting = greeting.trim();

console.log(trimmedGreeting); // Output: "Hello World"

在上面的示例中,我声明了一个名为 greeting 的变量,并赋值一个字符串值 Hello World。字符串的开头和末尾都有空格。

为了删除开头和末尾的空格,我在 greeting 变量上调用了 trim() 方法,并将结果存储在一个新变量 trimmedGreeting 中。

当我使用 console.log() 将新字符串打印到控制台时,开头的空格和末尾的空格已被删除。

greeting 中的原始字符串仍然包含开头和末尾的空格。

如何使用 JavaScript 中的 trimStart() 方法删除开头的空格

要删除 JavaScript 中字符串开头的空格,可以使用 trimStart() 方法。

让我们看看下面的例子:

let greeting = "    Hello World    ";

let trimmedGreeting = greeting.trimStart();

console.log(trimmedGreeting); // Output: "Hello World    "

在上面的示例中,greeting 变量的字符串值是 Hello World

我在 greeting 上调用了 trimStart() 方法,并将结果保存在 trimmedGreeting 中。该方法只删除字符串开头的空格。字符串末尾的空格将被保留。

如何使用 JavaScript 中的 trimEnd() 方法删除末尾空格

要在 JavaScript 中删除字符串末尾的空格,可以使用 trimEnd() 方法。

让我们看看下面的例子:

let greeting = "    Hello World    ";

let trimmedGreeting = greeting.trimEnd();

console.log(trimmedGreeting); // Output: "    Hello World"

存储在 greeting 中的字符串开头和末尾都有空格。

我在 greeting 上调用了 trimEnd() 方法,并将结果保存在 trimmedGreeting 中。该方法只删除字符串末尾的空格。字符串开头的空格将被保留。

如何使用 JavaScript 中的 replace() 方法删除字符

要从 JavaScript 字符串中删除特定字符,可以使用 replace() 方法。

以下是 replace() 方法的一般语法:

string.replace(pattern, replacement);

你需要在想要修改的字符串上调用 replace() 方法。该方法接受两个参数:patternreplacement

pattern 参数指定要查找并替换的字符串模式。这可以是一个特定的字符、子串或正则表达式模式,你想在字符串中找到并替换它们。

replacement 参数是要把 pattern 替换成的新字符或字符串。

请注意,replace() 方法不会修改原始字符串。

让我们来看一个示例:

let sentence = "I love dogs";

let modifiedSentence  = sentence.replace("dogs", "cats");

console.log(modifiedSentence); // Output: "I love cats"

我首先声明了一个名为 sentence 的变量,并赋值给字符串 I love dogs

然后,我在 sentence 上调用 replace() 方法,因为我想删除子串 dogs,代之以 cats。然后,我将结果存储在新变量 modifiedSentence 中。

最后,我将存储在 modifiedSentence 变量中的字符串记录到控制台。"I love cats" 字符串被打印到控制台。

replace() 方法找到了子串 dogs,并将其替换为 cats,而没有改变任何其他内容。

如何使用 JavaScript 中的 replace() 方法删除一个字符的多个实例

在上一节中,我们举例说明了如何使用 replace() 方法将一个单词替换为另一个单词。

但是,如果要替换的单词出现了多次,该怎么办呢?

let sentence = "I love dogs because dogs are cute";

let modifiedSentence  = sentence.replace("dogs", "cats");

console.log(modifiedSentence); // Output: "I love cats because dogs are cute"

在上面的例子中,sentence 变量中有两次出现了 dogs 这个词,我想用 cats 来替换它们。但是,replace() 方法默认只替换第一次出现的 dogs

使用 replace() 方法删除一个单词的多个实例则有些不同。你可以使用正则表达式来实现这一目的。

让我们使用正则表达式重写代码:

let sentence = "I love dogs because dogs are cute";

let modifiedSentence  = sentence.replace(/dogs/g, "cats");

console.log(modifiedSentence); // Output: "I love cats because cats are cute"

在上面的示例中,我将所有出现的字符串 dogs 替换为字符串 cats

我没有将字符串作为第一个参数传递给 replace(),而是传递了使用 g 标志的正则表达式 /dogs/g。这个标志代表 global,它匹配所有出现的单词 dogs,而不仅仅是第一个。

小结

在本文中,我们学习了在 JavaScript 中修剪字符串和替换字符串中的字符的基础知识。

具体来说,你学会了如何使用 trim() 方法修剪开头和末尾的空格,并了解了 trimStart()trimEnd() 方法分别用于只删除开头或结尾的空格。

最后,你还学会了如何使用 replace() 方法删除特定字符并用其他字符替换。

感谢你阅读本文,祝你编码愉快!