Всем, кто когда-либо пытался сделать string.replace на javascript уже известно, что он делает замену только первого найденного вхождения. Поэтому сегодня мы рассмотрим как сделать Javascript replaceAll и заменять сразу все вхождения подстроки.

На самом деле, сделать это проще простого, и мы просто обернем его в прототип функции, чтобы было удобнее применять.

Javascript replaceAll: заменить всё на Javascript

Этот способ удобен тем, что его легко запомнить. Мы разобьём строку на кусочки, при этом разделителем будем считать искомую подстроку, а затем объеденим эти кусочки при помощи подстроки-замены.

То есть приблизительно вот так:

"наша строка".split("a").join("o");
//ношо строко

Думаю, это понятно, но писать такую конструкцию не так удобно, и поэтому, если javascript replaceall планируется использовать чаще одного раза в проекте, то рекомендую включить его в оболочку, и поместить как прототип функции для объекта строки:

String.prototype.replaceAll = function(search, replace){
return this.split(search).join(replace);
}

Теперь можно использовать конструкцию:

"наша строка".replaceAll("а", "о");
//ношо строко

Готово!