我试图用双花括号(由邮递员用于变量替换)替换字符串中的值,但是每次尝试引用或转义括号时,我总是得到附加的转义引号或双转义括号,所有这些都打破了替代:
原始字符串:
"header": [{"key": "x-device-auth","value": "\"token\""}]
OriginalString.replace('token','{{token}}')
结果:
"header":[{"key":"x-device-auth","value":"\"{{token}}\""}]
如果我搜索.replace('\"token\"','{{token}}')
,则找不到匹配项。最后的字符串必须为:
"header": [{"key": "x-device-auth","value": "{{token}}"}]
答案 0 :(得分:2)
您应该寻找带有转义的双引号的token
,因为您也想替换它们。
var originalString = '"header": [{"key": "x-device-auth","value": "\\"token\\""}]';
console.log(originalString);
console.log(originalString.replace('\\"token\\"','{{token}}'));
originalString = '"header": [{"key": "x-device-auth","value": "\"token\""}]';
console.log(originalString);
console.log(originalString.replace('"token"','{{token}}'));
我添加了两种情况,一种情况是原始字符串实际上包含反斜杠(第一个原始字符串定义)。第二个没有。选择一个最符合您实际输入的内容:-)
答案 1 :(得分:0)
我看不到输入字符串已应用适当的转义字符。当您在javascript标记中发布问题时,我在下面尝试使用javascript及其给出所需的结果。
var str = "\"header\": [[{\"key\": \"x-device-auth\",\"value\": \"token\"}]";
var res = str.replace('token','{{token}}');