dmc1989
@dmc1989

Почему replace не заменяет подстроку?

Никак не пойму, почему не срабатывает:
var regexp = new RegExp("/&&-img_1-&&/g");
console.log('&&-img_1-&&'.replace(regexp, "img")); // &&-img_1-&&
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
kulakoff
@kulakoff
Vue.js developing
Замените на: new RegExp("&&-img_1-&&", "g");
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
drugoi
@drugoi
Front-end Developer
RegExp выражение не нужно обрамлять в кавычки.
var regexp = new RegExp(/&&-img_1-&&/g);
console.log('&&-img_1-&&'.replace(regexp, 'img'));

Для использования переменной в регэкспе:
var myNumber = 2;
var myVar = '&&-img_' + myNumber + '-&&';
var regexp = new RegExp(myVar, 'g');
console.log('&&-img_2-&&'.replace(regexp, 'img'));

Но лучше использовать всю мощь регулярок вот так, если у вас задача всегда 1 цифра в строке:
var regexp = new RegExp(/&&-img_\d-&&/g);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы