Метод replace() строки JavaScript

Определение и использование

replace() Метод ищет значение или регулярное выражение в строке.

replace() Метод возвращает новую строку с замененными значениями.

replace() Метод не изменяет исходную строку.

Совет:Если вы заменяете значение, то будет заменена только первая инстанция. Для замены всех инстанций используйте g Регулярные выражения для множества модификаторов.

Узнайте также:

Уроки по регулярным выражениям

Руководство по регулярным выражениям

Пример

Пример 1

Заменить Microsoft:

let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3School");

попробуйте сами

Пример 2

Глобальная замена:

let text = "Mr Blue has a blue house and a blue car";
let result = text.replace(/blue/g, "red");

попробуйте сами

Пример 3

Глобальная, без учета регистра замена:

let text = "Mr Blue has a blue house and a blue car";
let result = text.replace(/blue/gi, "red");

попробуйте сами

Пример 4

Функция, возвращающая текст замены:

let text = "Mr Blue has a blue house and a blue car";
let result = text.replace(/blue|house|car/gi, function (x) {
  return x.toUpperCase();
});

попробуйте сами

Грамматика

string.replace(regexp, замены)

Параметры

Параметры Описание
regexp

Обязателен. Значение для поиска или регулярное выражение.

Этот параметр определяет объект RegExp для шаблона, который нужно заменить.

Если этот параметр является строкой, то он используется в качестве literals текстового шаблона для поиска.

замены

Обязателен. Строка.

определяет текст замены или функцию, генерирующую текст замены.

возвращает значение

Тип Описание
строка новая строка с замененным значением.

технические детали

возвращает значение

возвращает новый строку, которая является новым замены заменил regexp первое соответствие или все соответствия после.

объясняет

строка string в replace() метод выполняет операцию поиска и замены. Он будет string найти соответствие regexp соответствующие подстроки, затем замены для замены этих подстрок. Если regexp с флагом глобального поиска g, то replace() метод заменяет все соответствия. В противном случае, он заменяет только первое соответствие.

замены может быть строкой или функцией. Если это строка, то каждая вхождение будет заменена строкой. Однако замены в $ символы имеют особое значение. Как показано в таблице ниже, строки, полученные из соответствия шаблона, используются для замены.

символ текст замены
$1, $2, ..., $99 соответствует regexp тексту, соответствующему 1-му до 99-му подвыражению в
$& соответствует regexp соответствующий подстроке.
$` текст, расположенный слева от соответствия.
$' текст, расположенный справа от соответствия.
$$ символы literals.

Обратите внимание:ECMAScript v3 определяет:replace() параметры метода замены может быть функцией, а не строкой. В этом случае, каждая вхождение вызывает эту функцию, и возвращаемая строка используется в качестве текста замены. Первый параметр функции это строка шаблона соответствия. Следующие параметры это строки, соответствующие подвыражениям шаблона, и может быть 0 или более таких параметров. Следующий параметр это целое число, которое объявляет, что соответствие находится в string в которой находится位置. Последний параметр это string сам по себе.

поддержка браузера

replace() Это функция ECMAScript1 (ES1).

Все браузеры полностью поддерживают ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Поддержка Поддержка Поддержка Поддержка Поддержка Поддержка

Связанные страницы

Строка JavaScript

Методы строки JavaScript

Поиск строки JavaScript