Javascript 无法在我的正则表达式中转义字符
我正在尝试处理反斜杠,以便能够将\t(single)转换为\t(double\),但此代码/正则表达式不起作用。你能告诉我哪里做错了吗Javascript 无法在我的正则表达式中转义字符,javascript,regex,Javascript,Regex,我正在尝试处理反斜杠,以便能够将\t(single)转换为\t(double\),但此代码/正则表达式不起作用。你能告诉我哪里做错了吗 var a = {"value": '[{"skill":"\tAgile,Scrum", "exp": 2}, {"skill": "Coding", "exp": 10 }]'}; a.value = a.value
var a = {"value": '[{"skill":"\tAgile,Scrum", "exp": 2}, {"skill": "Coding", "exp": 10 }]'};
a.value = a.value.replace(/\\/g, "\\\\"); //handle special char
console.log(a);
您的字符串中没有任何文字反斜杠。例如,
\tAgile,Scrum
相当于与Agile,Scrum
连接的制表符。字符串中没有反斜杠,因此与文本反斜杠匹配的/\\\/g
,将不匹配任何内容
您必须匹配已解释的字符,如\t
,并将其替换为一个反斜杠,后跟一个文本t
:
var a={“value”:“[{”skill:“\tAgile,Scrum”,“exp:2},{”skill:“Coding”,“exp:10}]”;
a、 value=a.value.replace(/\t/g,“\\t”)//处理特殊字符
控制台日志(a)
因为\t
已经被解析并作为\t
字符处理(我相信是桌面)。查找\t
:
var a={
“值”:“[{”skill:“\tAgile,Scrum”,“exp:2},{”skill:“Coding”,“exp:10}]”
};
a、 value=a.value.replace(/\t/g,“\\t”)//处理特殊字符
控制台日志(a)代码>