我有一个字符串:Dkjd(Dk39dD_2=3499(39482ᢕjd
我想用反斜杠逃避我选择的所有角色(例如,_#-
)。我很困惑如何使用String.replace
执行此操作。我可以在新值var中使用原始值吗?我可以使用RegEx来做到这一点吗?感谢。
答案 0 :(得分:3)
使用正则表达式应该很容易。
var str = 'Dkjd(Dk39dD_2=3499(39482ᢕjd';
str = str.replace(/[_#-]/g, function(match){
return '\\'+match;
});
console.log(str); // Dkjd(Dk39dD\_2=3499(39482&\#6293jd
答案 1 :(得分:3)
无需使用功能,请使用反向引用:
source.replace(/([_#\-])/g, "\\$1")
括号中的内容可以在替换字符串中引用为$1
。
答案 2 :(得分:2)
简单地说,
var str = 'Dkjd(Dk39dD_2=3499(39482ᢕjd';
str = str.replace(/([_#-])/g, '\\$1');
希望它有所帮助。