Замена части строки в JavaScript
- Что значит заменить часть строки
- Метод replace()
- Метод replaceAll()
- Замена на пустую строку
- Строка не меняется
- Итого
Иногда в строке нужно заменить один фрагмент на другой. Например, исправить слово, изменить часть сообщения или убрать лишний символ.
let message = 'Я изучаю HTML';
let result = message.replace('HTML', 'JavaScript');
console.log(result);
Результат:
Я изучаю JavaScript
Метод replace() нашел фрагмент ‘HTML’ и заменил его на ‘JavaScript’.
Что значит заменить часть строки
Заменить часть строки - значит найти в строке один текст и поставить на его место другой текст.
let text = 'Привет, Иван';
console.log(text.replace('Иван', 'Анна'));
Результат:
Привет, Анна
Если нужный фрагмент не найден, строка вернется без изменений.
let text = 'Привет, Иван';
console.log(text.replace('Олег', 'Анна'));
Результат:
Привет, Иван
Метод replace()
replace() заменяет первое найденное совпадение.
string.replace(searchValue, newValue);
searchValue - что ищем, newValue - на что заменяем.
let text = 'кот и кот';
console.log(text.replace('кот', 'пес'));
Результат:
пес и кот
В строке было два слова ‘кот’, но заменилось только первое.
Метод replaceAll()
replaceAll() заменяет все найденные совпадения.
let text = 'кот и кот';
console.log(text.replaceAll('кот', 'пес'));
Результат:
пес и пес
Этот метод удобно использовать, когда нужно заменить фрагмент в нескольких местах строки.
let phone = '+7 (999) 123-45-67';
console.log(phone.replaceAll('-', ''));
Результат:
+7 (999) 1234567
Замена на пустую строку
Если заменить фрагмент на пустую строку, он просто исчезнет из результата.
let text = 'JavaScript!';
console.log(text.replace('!', ''));
Результат:
JavaScript
Так можно убирать символы или небольшие части строки.
Строка не меняется
replace() и replaceAll() не изменяют исходную строку. Они возвращают новую строку.
let text = 'Я изучаю HTML';
text.replace('HTML', 'JavaScript');
console.log(text);
Результат:
Я изучаю HTML
Если результат нужен дальше, его нужно сохранить в переменную.
let text = 'Я изучаю HTML';
let result = text.replace('HTML', 'JavaScript');
console.log(result);
Результат:
Я изучаю JavaScript
Итого
Для замены части строки используют методы replace() и replaceAll().
replace()заменяет первое найденное совпадение.replaceAll()заменяет все найденные совпадения.- Если фрагмент не найден, строка вернется без изменений.
- Замена на пустую строку удаляет найденный фрагмент из результата.
- Исходная строка не меняется.