在字符串(JS)中特定字符之前添加一个字符



我试图在给定字符串中的特定字符(")之前附加字符('')。这是我的功能:

function addChar(test){
var txt2=""
for(i=0; i<test.length; i++){
if(test[i] === '"'){
txt2 += test.slice(i-1,i) + '\' ;
}
}
return txt2

当我在这个字符串上调用函数时:

let string = '"'+'STR1'+'"' + " "+ "AND" +" "+ '"' + 'STR2' + '"' \ ("STR1" AND "STR2") 

返回1 2,但我想要\"STR1\" AND \"STR2\"。我如何修复我的代码,以便打印出来?

我不建议遍历所有字符串字符,因为这样不容易读,而且很容易出错。尝试代替匹配所有双引号,并用"代替它们。注意,使用//g来匹配所有引号,并使用\而不是来转义

console.log('"STR1" AND "STR2"'.replace(/"/g, '\"'));

直接替换一下怎么样?

let string = '"' + 'STR1'+'"' + " "+ "AND" +" "+ '"' + 'STR2' + '"'; // ("STR1" AND "STR2") 
string = string.replace(/"/g,'\\"');
console.log(string);

相关内容

  • 没有找到相关文章

最新更新