如何在单词content之后的给定字符串中替换双反斜杠“\\” ,只有一个反斜杠 \?
var a = "blah blah \\ \\ content:\"whiskey \\\\";
使其显示为:
var a = "blah blah \\ \\ content:\"whiskey \\";
我尝试了以下但没有成功。
a.replace(/content:*\\\\\"/g, "\\"));
如何在单词content之后的给定字符串中替换双反斜杠“\\” ,只有一个反斜杠 \?
var a = "blah blah \\ \\ content:\"whiskey \\\\";
使其显示为:
var a = "blah blah \\ \\ content:\"whiskey \\";
我尝试了以下但没有成功。
a.replace(/content:*\\\\\"/g, "\\"));
与其试图用正则表达式解决整个问题,我只是打破“内容”上的字符串并在右半边进行替换。
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 \\\\ \\"
a.replace(/(content:.*)\\\\/g, "$1\\");
特别是问题,您"
的正则表达式中有一个,您需要.*
匹配任何内容,并且您需要在第一部分周围放置一个组,以便稍后检索它。
不幸的是,由于 javascript 的匹配方式,您确实需要多次运行它,直到它完成所有替换。
尝试使用这个,没有替换方法!
a.split('\\\\').join('\\');
结果应该是:
blah blah \ \ content:"whiskey \