Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > замена одного массива строк на другой


Автор: semi 29.6.2007, 00:32
smile
пытаюсь заменить буквы на цифры в строке.
Код

           var arr_symb1=new Array ("а","б","в","г","д");
       var arr_symb2=new Array ("1","2","3","4","5");                        
    
            for (i=0; i<arr_symb1.length;i++){
            kod = kod.replace(arr_symb1[i],arr_symb2[i]);                            
        }

все хорошо, но... если буква встречается несколько раз, то естественно, заменяется только первая...

конструкция типа
Код

kod = kod.replace(/arr_symb1[i]/g,arr_symb2[i]);

не работает... как быть?

Автор: SelenIT 29.6.2007, 02:46
Имхо, проще всего
Код

kod = kod.split(arr_symb1[i]).join(arr_symb2[i]);

Автор: Nicholas_S 29.6.2007, 21:45
semi, вариант с регулярным выражением: чтобы заменять глобально во всей строке, используй ключ 'g' в regexp.
Например:

var r = new RegExp(arr_symb1[i], 'g');
kod = kod.replace(r, arr_symb2[i]);

Автор: semi 1.7.2007, 01:03
SelenITNicholas_S, спасибо )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)