Как заменить совпавшие подстроки regexp шаблону на свои переменные на javascript?

Допустим, у меня есть строка:
var str = "hello %first_name% %second_name%";
var pattern = "/.*(%first_name%).*[\n]?.*(%secont_name%)/";

var first_name = "Robert";
var second_name = "Nozick";

Мне нужна подобная функция:
preg_replace(str, pattern, first_name, second_name)

Есть ли она в javascript?

-------

Нашел кривое, но решение проблемы!
function test () {
  var str = "hello %first_name% %second_name%";
  var regexp = /.*(%first_name%).*[\n]?.*(%second_name%)/;
  var newString = str.replace(regexp, replacer1);
}

function replacer1(match, p1, p2, offset, string) {
  var first_name = "Robert";
  var second_name = "Nozick";
  var newsString = string.replace(p1, first_name);
  newsString = newsString.replace(p2, second_name);

  return newsString;
}
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "$2, $1") // "Smith, John"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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