March 6, 2009

Замена всех подстрок в JavaScript. Пишем метод replaceAll()

Существует ряд наиболее стандартных задач в программировании которые реализованы в ядре языка. Некоторые из них не реализованы напрямую. Например задача замены всех вхождений подстроки в строку в JavaScript. Первое что приходит в голову это вызвать метод replace у строки.
var myString="q w e r qq w e q";
myString = myString.replace('q', 'Q');

Но, существует НО. Этот метод заменит только первую найденную подстроку, а мы хотим заменить все. Метода replaceAll не существует. Вызывать метод replace в цикле пока не будут заменены все подстроки — не наш путь. Решение рядом.