replace()
Метод replace() заменяет все вхождения substring1 на substring2 прямо внутри объекта String — без создания новой строки.
Полная статья
Описание
Метод replace() находит в строке все вхождения substring1 и заменяет каждое из них на substring2. Замена происходит «на месте»: сам объект myString изменяется, новый объект не создаётся.
Можно заменять как одиночные символы, так и подстроки произвольной длины. Если substring1 встречается в строке несколько раз, будут заменены все вхождения без исключения.
Синтаксис
myString.replace(substring1, substring2)
Параметры
myString: переменная типаString— исходная строка, в которой выполняется замена.substring1: переменная типаString— подстрока (или символ), которую нужно найти и заменить.substring2: переменная типаString— подстрока (или символ), на которую производится замена.
Возвращает
Ничего. Метод изменяет сам объект myString, а не возвращает новую строку.
Где применяется
- Форматирование вывода — убрать лишние пробелы, заменить разделители или привести строку к нужному виду перед отправкой по Serial.
- Обработка команд — заменить сокращения или псевдонимы в принятой строке на стандартные ключевые слова перед разбором.
- Подготовка данных для дисплея — заменить спецсимволы, которые конкретный дисплей не поддерживает, на безопасные альтернативы.
- Очистка строк — убрать нежелательные символы, заменив их пустой строкой
"".
Практические замечания
- Если
substring1не найдена в строке, метод ничего не делает — строка остаётся без изменений, ошибки не возникает. - Чтобы удалить все вхождения подстроки, передайте в качестве
substring2пустую строку"". - Метод чувствителен к регистру:
"Hello"и"hello"— разные подстроки. - Работа с объектами
Stringсвязана с динамическим выделением памяти. На платах с малым объёмом ОЗУ (например, Arduino Uno) частые операции со строками могут привести к фрагментации кучи. Если критична стабильность, рассмотрите работу с массивамиcharи функциями из<string.h>. - Метод заменяет все вхождения, а не только первое — это отличает его от аналогичных функций в некоторых других языках.