【问题标题】:Escape double quote inside double quoted string in JavaScript在 JavaScript 中的双引号字符串中转义双引号
【发布时间】:2016-06-02 17:34:20
【问题描述】:

我遇到了一个问题,我在 JavaScript 中找不到执行此操作的模式。

我有一个这样的字符串:

var project = '(Project=" my project "blah" ")';

我想得到这个结果

(Project=" my project "\blah\" ")

我想用反斜杠转义双引号内的双引号。

【问题讨论】:

    标签: javascript jquery regex replace


    【解决方案1】:

    你应该在你想转义的字符前加上一个反斜杠。

    var project = '(SANCOA4Project=" my project \"blah\" ")';
    

    【讨论】:

    • 我认为 OP 希望以编程方式进行。我的猜测是该变量并不是真正的硬编码字符串。
    【解决方案2】:

    如果稍后需要转义,通过另一个评估 " my project "blah" " 的工具,那么您需要为每个引号提供两个反斜杠:

    var project = '(SANCOA4Project=" my project \\"blah\\" ")';
    

    每对中的第一个 \ 将由带有 '...' 字符串的 JavaScript 使用,而将 \" 留给其他工具进行评估。

    【讨论】:

    • 但是我如何使用正则表达式呢?
    • 我需要在双引号内搜索双引号并放置反斜杠,但是如何?
    • @RodolfoSoares 如果可以,请在值的来源处修复它。转义的重点是消除歧义,区分语法分隔符和字符。在运行时试图在事后弄清楚它们很可能容易出错。
    【解决方案3】:

    您必须转义转义字符才能在以后的使用中转义双引号内的双引号:

    var project = '(SANCOA4Project=" my project \\"blah\\" ")';
    
    console.log(project);

    【讨论】:

    • 但是我如何使用正则表达式呢?
    • 我需要在双引号内搜索双引号并放置反斜杠,但是如何?
    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多