从 JavaScript 中的字符串中删除双引号

从字符串中删除双引号

Remove Double Quotes from a String in JavaScript

使用该String.replaceAll()方法从字符串中删除所有双引号,例如str.replaceAll('"', '').

replaceAll()方法将通过用空字符串替换它们来删除字符串中的所有双引号。

索引.js
const str = 'hel"l"o wor"l"d'; // ✅ Remove double quotes from a string const withoutQuotes = str.replaceAll('"', ''); console.log(withoutQuotes); // 👉️ hello world // --------------------------------------------- // ✅ Remove double and single quotes from a string const str2 = 'a"b \'c "d \'e'; const withoutQuotes2 = str2.replaceAll('"', '').replaceAll("'", ''); console.log(withoutQuotes2); // 👉️ ab c d e

String.replaceAll()方法返回一个新字符串,其中

所有匹配的模式都被提供的替换项替换。

该方法采用以下参数:

姓名 描述
图案 要在字符串中查找的模式。可以是字符串或正则表达式。
替换 用于通过提供的模式替换子字符串匹配的字符串。
我们通过用空字符串替换每次出现的双引号来从字符串中删除所有双引号。

String.replaceAll()方法返回一个新字符串,其中替换了模式的匹配项。该方法不会更改原始字符串。

字符串在 JavaScript 中是不可变的。

如果您只需要从字符串中删除封闭的双引号,请使用该
String.slice()方法。

索引.js
let str = '"hello world"'; if (str.at(0) === '"' && str.at(-1) === '"') { str = str.slice(1, -1); } console.log(str); // 👉️ hello world

我们使用该String.at()方法检查字符串是否以双引号开头和结尾。

如果满足条件,我们使用该String.slice()方法从字符串中删除第一个和最后一个字符。

请注意,我们在声明变量let时使用了关键字。这很重要,因为无法重新分配str使用声明的变量。const

您还可以使用该String.replace()方法从字符串中删除双引号。

使用#从字符串中删除双引号String.replace()

要从字符串中删除双引号:

  1. replace()在字符串上调用方法。
  2. replace方法将用空字符串替换每次出现的双引号。
  3. replace方法将返回一个删除了所有双引号的新字符串。
索引.js
// ✅ Remove double quotes from a string const str = 'hel"l"o wor"l"d'; const withoutQuotes = str.replace(/"/g, ''); console.log(withoutQuotes); // 👉️ hello world // --------------------------------------------- // ✅ Remove double and single quotes from a string const str2 = 'a"b \'c "d \'e'; const withoutQuotes2 = str2.replace(/['"]+/g, ''); console.log(withoutQuotes2); // 👉️ ab c d e

String.replace()
方法返回一个新字符串,其中一个、一些或所有正则表达式的匹配项被替换为提供的替换项

该方法采用以下参数:

姓名 描述
图案 要在字符串中查找的模式。可以是字符串或正则表达式。
替换 用于通过提供的模式替换子字符串匹配的字符串。

两个正斜杠/ /标记正则表达式的开始和结束。

索引.js
const str = 'hel"l"o wor"l"d'; const withoutQuotes = str.replace(/"/g, ''); console.log(withoutQuotes); // 👉️ hello world
我们使用了g(global) 标志,因为我们想要匹配字符串中所有出现的双引号,而不仅仅是第一次出现的。

我们传递给该replace()方法的第二个参数是一个空字符串,因为我们想从字符串中删除所有双引号。

如果需要从字符串中删除所有双引号和单引号,请将字符类传递给该String.replace()方法。

索引.js
const str2 = 'a"b \'c "d \'e'; const withoutQuotes2 = str2.replace(/['"]+/g, ''); console.log(withoutQuotes2); // 👉️ ab c d e

方括号[]称为字符类,用于匹配括号内的所有字符(双引号和单引号)。

加号+与前面的项目(双引号和单引号)匹配 1 次或多次。

整体而言,正则表达式匹配一个或多个单引号或双引号,并用空字符串替换每个匹配项以删除它们。

或者,您可以使用split()join()方法。

使用#从字符串中删除双引号String.split()

要从字符串中删除双引号:

  1. 使用该String.split()方法在每个双引号上拆分字符串。
  2. 使用join()方法连接字符串数组。
  3. 新字符串将不包含任何双引号。
索引.js
const str = 'hel"l"o wor"l"d'; const withoutQuotes = str.split('"').join(''); console.log(withoutQuotes); // 👉️ hello world

String.split()方法根据

提供的分隔符将字符串拆分为子字符串数组。

我们在每次出现双引号时拆分字符串。

索引.js
const str = 'hel"l"o wor"l"d'; const split = str.split('"'); // 👉️ ['hel', 'l', 'o wer', 'l', 'd'] console.log(split);

最后一步是使用
Array.join()
方法将数组元素连接成一个字符串。

Array.join()方法使用分隔符连接数组中的所有元素。

Array.join()方法采用的唯一参数是separator– 用于分隔数组元素的字符串。

如果separator省略参数值,则数组元素用逗号连接,

如果separator参数设置为空字符串,则数组元素之间没有任何字符连接。

您还可以使用基本for循环从字符串中删除双引号。

使用for循环从字符串中删除双引号

要从字符串中删除双引号:

  1. 声明一个存储空字符串的新变量。
  2. 使用for循环遍历原始字符串。
  3. 检查当前字符是否不等于双引号。
  4. 如果满足条件,则将字符连接到新字符串。
索引.js
const str = 'hel"l"o wor"l"d'; let newString = ''; for (let index = 0; index < str.length; index++) { if (str[index] !== '"') { newString += str[index]; } } console.log(newString); // 👉️ hello world

我们使用了一个基本for循环来遍历字符串。

在每次迭代中,我们检查当前字符是否不等于双引号。

如果满足条件,我们将字符添加到新字符串中。

如果您需要从字符串中删除双引号和单引号,请使用逻辑与 (&&) 运算符。

索引.js
const str = 'a"b \'c "d \'e'; let newString = ''; for (let index = 0; index < str.length; index++) { if (str[index] !== '"' && str[index] !== "'") { newString += str[index]; } } console.log(newString); // 👉️ hello world

我们使用了逻辑与 (&&) 运算符,因此if要运行该块,必须同时满足这两个条件。

在每次迭代中,我们检查当前字符是否不等于双引号并且不等于单引号。

如果两个条件都满足,我们将字符添加到新字符串中。