Как заменить подстроку в строке начиная с первого совпадения и до конца строки?
Только начинаю изучать регулярные выражения. Подскажите, пожалуйста, как заменить подстроку в строке начиная с первого совпадения и до конца строки
str = "Первый тест скоро планирую закончить";
str.replace(new RegExp("/тест$/",'g'),"релиз");
UDP До конца строки заменить означает, что мне нужно получить в результате "Первый релиз"
Ответы (1 шт):
Первый аргумент в new RegExp("/тест$/",'g') — это шаблон, второй аргумент – флаг(и). Использование разделителей в шаблоне — ошибка, так как new RegExp("/тест/",'g') найдёт /тест/ в тексте, но не тест.
Кроме того, $ требует конца строки в данной позиции, чтобы найти текст до конца строки, его нужно "найти", то есть использовать .* (если в строке нет переносов строки) или [^]* / [\w\W]* (если есть символы переноса строки).
К тому же необходимо результат замены присвоить переменной, иначе замена будет произведена впустую.
var str = "Первый тест скоро планирую закончить";
str = str.replace(/тест.*/, "релиз");
console.log(str);
// => Первый релиз