将字符串转义为单引号字符串
Escape string as single quoted string
我有一个字符串,我想将其编码为单引号Javascript字符串。换句话说,我想要一个函数asSingleQuotedString
,这样:
> console.log(asSingleQuotedString("Hello '"friend'" it's me."))
'Hello "friend" it''s me'
我尝试过使用JSON.stringify()
,它很有效,但却提供了双引号字符串。
这是我当前的解决方案。它的工作原理是转换为JSON格式,取消对双引号的捕获,转义单引号,然后用单引号替换外部双引号。
// Changes a double quoted string to a single quoted one
function doubleToSingleQuote(x) {
return x.replace(/''"/g, '"').replace(/''/g, "'''").replace(/^"|"$/g, "'");
}
// Encodes a string as a single quoted string
function asSingleQuotedString(x) {
return doubleToSingleQuote(JSON.stringify(x));
}
此方法也适用于任意数据结构,通过使用此正则表达式查找所有引用的字符串:
// Encodes as JSON and converts double quoted strings to single quoted strings
function withSingleQuotedStrings(x) {
return JSON.stringify(x).replace(/"(?:[^"'']|''.)*"/g, doubleToSingleQuote);
}
相关文章:
- 将字符串中的单引号替换为双引号
- 使用jquery或regex,带点但不带点的拆分字符串位于单引号中
- 如何在字符串输入的 Html 元素中的双引号内编写单引号
- JavaScript 相等操作对单引号字符串和数字都成功
- 对字符串使用单引号或双引号
- 如何在javasciipt中添加单引号到字符串,该字符串将在nodeJS中作为mysql插入命令执行
- 如何将带有单引号的字符串转换为双引号以进行json解析
- 将字符串解析为带有单引号的 JSON
- 转义字符串化 JSON 中的单引号,作为 EJS 模板传递以供查看
- 当字符串中包含单引号时,如何在 javascript 中将字符串分配给变量
- 处理 JS 和代码隐藏中的字符串中的单引号
- 使用单引号在 JavaScript 中构建字符串
- 使用包含单引号的字符串作为内联 HTML 中的 Javascript 参数
- 如何从 JS 字符串中转义双引号和单引号
- 单引号后的其余字符串将被丢弃
- 为什么大多数语言在字符串文本中使用双引号而不是单引号
- 将字符串转义为单引号字符串
- 如何用单引号替换字符串
- 用空格分隔的值对字符串进行标记,除非值用单引号括起来
- 在单引号字符串中转义onClick参数周围的双引号