Метод replace() строки JavaScript
- Предыдущая страница repeat()
- Следующая страница replaceAll()
- Вернуться на один уровень выше Референсное руководство JavaScript String
Определение и использование
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 |
Поддержка | Поддержка | Поддержка | Поддержка | Поддержка | Поддержка |
- Предыдущая страница repeat()
- Следующая страница replaceAll()
- Вернуться на один уровень выше Референсное руководство JavaScript String