JS在Word之后替换反斜杠

时间:2012-11-24 04:03:20

标签: javascript regex

如何在单词 content 之后的给定字符串中替换双反斜杠“\\”,只有一个反斜杠,\?

var a = "blah blah \\ \\ content:\"whiskey \\\\";

所以它显示为:

var a = "blah blah \\ \\ content:\"whiskey \\";

我尝试了以下但没有成功。

 a.replace(/content:*\\\\\"/g, "\\"));

3 个答案:

答案 0 :(得分:3)

我不是试图用正则表达式解决整个问题,而是在“内容”上打破字符串并在右半部分进行替换。

function fn(x) { 
    var i = x.indexOf("content");
    return x.substr(0,i) + x.substr(i).replace(/\\\\/g, "\\");
}

// this evaluates true
fn("blah blah \\ \\ \\\\ content:\"whiskey \\\\\\\\ \\\\") ==
   "blah blah \\ \\ \\\\ content:\"whiskey \\\\ \\"

答案 1 :(得分:1)

a.replace(/(content:.*)\\\\/g, "$1\\");

特别是问题,你的正则表达式中有一个",你需要.*来匹配任何东西,你需要在第一部分周围放一个组,以便以后检索它。

不幸的是,你需要多次运行它,直到完成所有替换,因为javascript的匹配方式。

答案 2 :(得分:0)

尝试使用此方法,无需替换方法!

a.split('\\\\').join('\\');

结果应该是:

blah blah \ \ content:"whiskey \