通过字符数组转义字符串

Escape strings by array of chars

本文关键字:转义字符 字符串 转义 数组 字符      更新时间:2023-09-26

我有一个js简单数组。

array('p','(',')','?');

根据数组值,我需要在js中转义字符串,我怎么能做到这一点?

例如字符串是= 'hey?',在转义数组中我有'?'

应该这样做:

//for old browsers...
Array.prototype.indexOf = Array.prototype.indexOf || function(o) {
   for(var k = 0; k < this.length; ++k)
      if(this[k] === o) return k;
   return -1;
};
var escapes = ['p', '(', ')', '?'];
var array = 'hey?'.split('');
for(var i = 0; i < array.length; ++i) {
   var escapeIndex = escapes.indexOf(array[i]);
   if(escapeIndex > -1) {
      array[i] = '''' + array[i];
   }
}
var newString = array.join('');

不确定这是否是最有效的方法,但您可以尝试这样做-

var text = "= 'hey?'";
var a = ['p','(',')','?'];
for (i=0;i<a.length;i++) {
 text = text.replace(a[i],'''' + a[i])   
}
alert(text);

Demo - http://jsfiddle.net/aEysk/

试试这个

for(var i=0;i<arr.length;i++){
var ind = strValue.IndexOf(arr[i])
    if(ind>-1)
    {
       strValue.splice(ind,1)
    }
}