我的字符串如下所示
"value":"my"value"
我需要将其转换为
"value":"my\"value"
此字符串中的某些部分是固定的,例如
"value":"
某些部分不固定。所以我想我可以像下面这样对待字符串:
"value":"xx"xxx"
x部分不固定,我需要将字符串替换为
"value":"xx\"xxx"
我认为我应该尝试使用正则表达式,谁能帮助我构建正则表达式?
答案 0 :(得分:0)
您可以像这样使用正则表达式:
'"value":"xx"xxx"'.replace(/("value":".*)"(.*")/, '$1\\"$2');
答案 1 :(得分:0)
res.log
{ "key": "name",
"value" : "value with" quote",
}
代码段
content = content.replace(/"[^"\\:\n]+"[^"\\:\n]+"/gi, (s) => {
var substr = s.slice(1, s.length - 1);
substr = substr.replace("\"", "\\\"");
return "\"" + substr + "\"";
});
完整样本功能
var fs = require("fs");
module.exports = () => {
let file = 'res.log';
let content = fs.readFileSync(file, 'utf8');
console.log(content);
content = content.replace(/"[^"\\:\n]+"[^"\\:\n]+"/gi, (s) => {
var substr = s.slice(1, s.length - 1);
substr = substr.replace("\"", "\\\"");
return "\"" + substr + "\"";
});
console.log(content);
};