Как заменить все вхождения строки в JavaScript?
Содержание
Метод replace() в JavaScript ищет строку для указанного значения или регулярное выражение и возвращает новую строку, где указанные значения заменяются. Но если строка содержит повторяющиеся слова, метод replace() меняет только первое вхождение строки.
Пример
str = "one two three one five nine"; newStr = str.replace('one', 'XXX'); alert(newStr);
Когда вы запустите код, выше сценарий вернет «XXX два три один пять девять». Здесь вы можете видеть, сначала «один» заменяется на «XXX», а второй «один» все еще там. Итак, как вы можете изменить все вхождения строки в JavaScript?
Заменить все вхождения с помощью Split() и join()
Вы можете заменить все вхождения строки с помощью функций Split() и join(). Строка, в которую вы ввели split() с указанным словом, и снова соединитесь с замещенным словом.
Пример
str = "one two three one five nine"; newStr = str.split("one").join("XXX");; alert(newStr);
Выход
XXX two three XXX five nine
Заменить все вхождения, используя RegularExpression
str = "one two three one five nine"; newStr = replaceAll(str,'one','XXX'); alert(newStr); function replaceAll(str, find, replace) { return str.replace(new RegExp(find, 'g'), replace); }