MyTetra Share
Делитесь знаниями!
Заменить все вхождения подстроки в строке в JavaScript
Время создания: 31.03.2019 18:59
Автор: br0ke
Текстовые метки: javascript, js, ecmascript, es, replace, replace_all
Раздел: Информационные технологии - JavaScript
Запись: and-semakin/mytetra_data/master/base/1554040759i7nye0xom5/text.html на raw.githubusercontent.com

В JavaScript у строк есть метод str.replace(), но он заменяет только первую найденную подстроку, а не все:


let str = "Test abc test test abc test test test abc test test abc";

str = str.replace('abc', '');

console.log(str);

// "Test test test abc test test test abc test test abc";


Чтобы заменить все нужно использовать хаки:


1. На основе регулярных выражений:


String.prototype.replaceAll = function(search, replacement) {

var target = this;

return target.replace(new RegExp(search, 'g'), replacement);

};


2. На основе split() и join():


String.prototype.replaceAll = function(search, replacement) {

var target = this;

return target.split(search).join(replacement);

};

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования