从字符串中删除双引号
Remove Double Quotes from a String in JavaScript
使用该String.replaceAll()
方法从字符串中删除所有双引号,例如str.replaceAll('"', '')
.
该replaceAll()
方法将通过用空字符串替换它们来删除字符串中的所有双引号。
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()
方法。
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()
要从字符串中删除双引号:
replace()
在字符串上调用方法。- 该
replace
方法将用空字符串替换每次出现的双引号。 - 该
replace
方法将返回一个删除了所有双引号的新字符串。
// ✅ 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()
方法返回一个新字符串,其中一个、一些或所有正则表达式的匹配项被替换为提供的替换项。
该方法采用以下参数:
姓名 | 描述 |
---|---|
图案 | 要在字符串中查找的模式。可以是字符串或正则表达式。 |
替换 | 用于通过提供的模式替换子字符串匹配的字符串。 |
两个正斜杠/ /
标记正则表达式的开始和结束。
const str = 'hel"l"o wor"l"d'; const withoutQuotes = str.replace(/"/g, ''); console.log(withoutQuotes); // 👉️ hello world
g
(global) 标志,因为我们想要匹配字符串中所有出现的双引号,而不仅仅是第一次出现的。我们传递给该replace()
方法的第二个参数是一个空字符串,因为我们想从字符串中删除所有双引号。
如果需要从字符串中删除所有双引号和单引号,请将字符类传递给该String.replace()
方法。
const str2 = 'a"b \'c "d \'e'; const withoutQuotes2 = str2.replace(/['"]+/g, ''); console.log(withoutQuotes2); // 👉️ ab c d e
方括号[]
称为字符类,用于匹配括号内的所有字符(双引号和单引号)。
加号+
与前面的项目(双引号和单引号)匹配 1 次或多次。
整体而言,正则表达式匹配一个或多个单引号或双引号,并用空字符串替换每个匹配项以删除它们。
或者,您可以使用split()
和join()
方法。
使用#从字符串中删除双引号String.split()
要从字符串中删除双引号:
- 使用该
String.split()
方法在每个双引号上拆分字符串。 - 使用
join()
方法连接字符串数组。 - 新字符串将不包含任何双引号。
const str = 'hel"l"o wor"l"d'; const withoutQuotes = str.split('"').join(''); console.log(withoutQuotes); // 👉️ hello world
String.split()方法根据
提供的分隔符将字符串拆分为子字符串数组。
我们在每次出现双引号时拆分字符串。
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
循环从字符串中删除双引号
要从字符串中删除双引号:
- 声明一个存储空字符串的新变量。
- 使用
for
循环遍历原始字符串。 - 检查当前字符是否不等于双引号。
- 如果满足条件,则将字符连接到新字符串。
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
循环来遍历字符串。
在每次迭代中,我们检查当前字符是否不等于双引号。
如果满足条件,我们将字符添加到新字符串中。
如果您需要从字符串中删除双引号和单引号,请使用逻辑与 (&&) 运算符。
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
要运行该块,必须同时满足这两个条件。
在每次迭代中,我们检查当前字符是否不等于双引号并且不等于单引号。
如果两个条件都满足,我们将字符添加到新字符串中。