转义字符串中的引号
How to Escape Quotes in a String using JavaScript
要转义字符串中的单引号或双引号,请在字符串内容中的每个单引号或双引号之前使用反斜杠\
字符,例如
'that\'s it'
.
索引.js
const escapeSingle = 'it\'s a string'; console.log(escapeSingle) // 👉️ it's a string const escapeDouble = "bobby\"hadz" console.log(escapeDouble) // 👉️ bobby"hadz
当我们使用反斜杠字符转义单引号或双引号时,我们指示 JavaScript 我们希望将引号视为文字单引号或双引号字符,而不是字符串结尾字符。
如果在用单引号引起来的字符串中使用单引号,则会过早地终止该字符串。
但是,当您使用反斜杠转义单引号时,情况就不是这样了。
您可以使用相同的方法来转义字符串中的双引号。
索引.js
const escapeDouble = "He said: \"test 123\"" console.log(escapeDouble) // 👉️ He said: "test 123"
我们使用反斜杠\
字符来转义字符串中的每个双引号。
可以通过更改字符串的外部引号来避免转义引号。
索引.js
const withSingle = "it's a string"; console.log(withSingle) // 👉️ it's a string const withDouble = 'He said: "test 123"' console.log(withDouble) // 👉️ He said: "test 123"
我们交替使用双引号和单引号,因此我们不必转义它们。
请注意,您还可以
backticks
在定义存储字符串的变量时使用。这允许您在字符串中同时使用单引号和双引号而无需转义它们。索引.js
const withBoth = `it's a "test 123"`; console.log(withBoth) // 👉️ it's a "test 123"
该字符串被包裹起来,
backticks
因此我们不必在其内容中转义单引号和双引号。要将反斜杠\
字符添加到字符串中,请将两个反斜杠并排添加。第一个反斜杠转义第二个反斜杠,因此第二个反斜杠按字面意思。
索引.js
const addBackslash = "He said: \\\"test 123\\\"" console.log(addBackslash) // 👉️ He said: \"test 123\"
我们有 3 个相邻的反斜杠。第一个反斜杠转义第二个反斜杠,因此它由 JavaScript 按字面解释。第三个反斜杠用于转义双引号。
这是一个更现实的例子,我们只在字符串中添加一个反斜杠。
索引.js
const addBackslash = "BMW \\1996\\" console.log(addBackslash) // 👉️ BMW \1996\
如果需要显示字符串中的转义字符,请使用
JSON.stringify()
方法。
索引.js
const addBackslash = 'BMW \\1996\\'; console.log(addBackslash); // 👉️ BMW \1996\ const withEscapeChars = JSON.stringify(addBackslash); console.log(withEscapeChars); // 👉️ "BMW \\1996\\"
JSON.stringify
方法将 JavaScript 值转换为 JSON 字符串。
将值转换为 JSON 字符串时,其输出包含转义字符。