#javascript #replace #str-replace
#javascript #заменить #str-replace
Вопрос:
Мне нужно заменить несколько слов самостоятельно в тегах. Например
текст текст текст текст собака текст кошка текст текст мышь.
Необходимо заменить на <b>dog</b>
или <b>cat</b>
или <b>mouse</b>
, если совпадают. Мне нужно было заменить его один раз. Если он найдет слово dog, это означает заменить единственную dog <b>dog</ b>
. И ничего больше. Даже если кошка или мышь будут текстом.
У меня есть код.
var str = "dog text cat text mouse",
reg = /dog|cat|mouse/;
str = str.replace(reg, '<b>dog</b>').
Извините, это заменяет только любое из совпадающих с <b>dog</b>
.
Помогите мне, пожалуйста.
Комментарии:
1. Что должно
dog dog dog
стать?<b>dog</b> <b>dog</b> <b>dog</b>
?
Ответ №1:
Используйте g
флаг, чтобы выполнить глобальный поиск, а не просто заменять первое вхождение.
Используйте круглые скобки в регулярном выражении, чтобы найти совпадение, и используйте $1
при замене, чтобы использовать то, что вы поймали.
var str = "dog text cat text mouse";
var reg = /(dog|cat|mouse)/g;
str = str.replace(reg, '<b>$1</b>')