Замена шаблонов с помощью REGEXREPLACE
Заменяйте совпавший текст новыми значениями во всей ячейке.
«Замена шаблонов с помощью REGEXREPLACE» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Переписывание текста по шаблону
До сих пор Вы проверяли шаблоны и извлекали фрагменты. Теперь Вы будете переписывать текст: удалять ненужные символы, переформатировать телефонные номера или сокращать последовательности лишних пробелов.
REGEXREPLACE находит каждую часть текста, соответствующую шаблону, и заменяет её выбранным Вами текстом.
Эта функция Google Таблиц — мощный инструмент очистки текста, поскольку с её помощью можно преобразовать целый неаккуратный столбец за один проход.
Синтаксис REGEXREPLACE
REGEXREPLACE(text, pattern, replacement) принимает три аргумента: исходный текст, шаблон для поиска и строку замены.
В отличие от REGEXEXTRACT, она заменяет каждое найденное совпадение, а не только первое.
Формула ниже удаляет все цифры из A2, заменяя каждую цифру пустой строкой. Room 204 превращается в Room .
=REGEXREPLACE(A2, "\d", "")Удаление заменой на пустую строку
Распространённый приём — удалять символы, заменяя их пустой строкой "".
Формула ниже удаляет всё, что не является цифрой, оставляя только числа. (555) 123-4567 превращается в 5551234567. Класс [^\d] означает любой символ, не являющийся цифрой, а + позволяет сразу захватывать их последовательности.
=REGEXREPLACE(A2, "[^\d]+", "")Практический пример: удаление лишних пробелов
Импортированный текст часто содержит двойные или тройные пробелы. Нужно сократить любую последовательность пробелов до одного пробела.
Формула ниже сопоставляет один или несколько пробельных символов и заменяет каждую последовательность одним пробелом. Позже объедините её с TRIM, чтобы очистить также границы строки.
=REGEXREPLACE(A2, "\s+", " ")Обратные ссылки повторно используют совпадение
Текст замены может ссылаться на захваченные группы с помощью $1, $2 и так далее. $1 означает то, чему соответствовала первая захватывающая группа.
Это позволяет менять порядок или форматировать текст. Формула ниже превращает Smith, John в John Smith, захватывая два имени и меняя их порядок.
=REGEXREPLACE(A2, "(\w+), (\w+)", "$2 $1")Практический пример: форматирование номера телефона
Предположим, что в A2 находится чистая строка из 10 цифр, например 5551234567, и Вы хотите получить (555) 123-4567.
Захватите три цифры, затем ещё три и четыре цифры, а затем восстановите форматирование в замене. На каждую группу ссылаются по её номеру.
=REGEXREPLACE(A2, "(\d{3})(\d{3})(\d{4})", "($1) $2-$3")Замена определённых слов
Можно заменять и обычные слова. Чтобы привести сокращения к единому виду, сопоставьте слово и замените его.
Формула ниже заменяет каждое St. на Street в адресе. Не забудьте экранировать точку как \., чтобы она соответствовала именно точке, а не любому символу.
=REGEXREPLACE(A2, "St\.", "Street")Замена без учёта регистра
Регулярные выражения по умолчанию чувствительны к регистру. Чтобы сопоставить слово независимо от регистра, перечислите варианты в классе или создайте альтернативы.
Формула ниже заменяет color или Color на colour. Класс [Cc] соответствует одному из вариантов регистра первой буквы.
=REGEXREPLACE(A2, "[Cc]olor", "colour")Практический пример: маскирование конфиденциальных цифр
Чтобы скрыть все цифры номера карты, кроме последних четырёх, замените начальные цифры на X.
Формула ниже сопоставляет все цифры, расположенные перед последними четырьмя, и заменяет каждую на X. Для 1234567890123456 получается XXXXXXXXXXXX3456.
=REGEXREPLACE(A2, "\d(?=\d{4})", "X")Объединение этапов очистки
Настоящая очистка часто требует нескольких шагов. Можно вкладывать вызовы REGEXREPLACE, передавая результат внутреннего вызова внешнему.
Формула ниже сначала удаляет всё, что не является буквой или пробелом, а затем сокращает несколько пробелов до одного. Просмотр изнутри наружу показывает порядок операций.
=REGEXREPLACE(REGEXREPLACE(A2, "[^A-Za-z ]", ""), "\s+", " ")Применение ко всему столбцу
Как и другие функции регулярных выражений, REGEXREPLACE предназначена для очистки всего столбца за один проход. Формулу записывают один раз и протягивают рядом с исходными данными.
Предположим, что в столбце A находятся названия товаров с лишними кодами в конце, например Chair (SKU-4821). Формула ниже удаляет код в скобках из каждой строки, оставляя только Chair . Добавьте вокруг неё TRIM, чтобы убрать оставшийся пробел.
=TRIM(REGEXREPLACE(A2, "\(.*\)", ""))Быстрая проверка
Проверьте, насколько хорошо Вы освоили замену по шаблону.
Итоги: преобразование текста за один проход
Вы узнали, что REGEXREPLACE(text, pattern, replacement) заменяет каждое совпадение в Google Таблицах. Основные выводы:
- Используйте
""для удаления ненужных символов [^\d]и\s+— основные инструменты очистки- Захватывающие группы можно повторно использовать в замене как
$1,$2 - Экранируйте специальные символы, используемые буквально, например
\. - Вкладывайте вызовы, чтобы объединять несколько этапов очистки
Далее Вы объедините регулярные выражения с SPLIT и CLEAN, чтобы разделить и окончательно привести в порядок импортированные данные.
Часто задаваемые вопросы
Урок «Замена шаблонов с помощью REGEXREPLACE» бесплатный?
Да — полный текст урока «Замена шаблонов с помощью REGEXREPLACE» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Замена шаблонов с помощью REGEXREPLACE»?
Заменяйте совпавший текст новыми значениями во всей ячейке. Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Замена шаблонов с помощью REGEXREPLACE»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Проверка шаблонов с помощью REGEXMATCH
- Извлечение шаблонов с помощью REGEXEXTRACT
- Замена шаблонов с помощью REGEXREPLACE
- Разделение и очистка неструктурированных данных