Функция REGEXREPLACE

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac

Функция REGEXREPLACE позволяет заменить текст из строки другой строкой на основе предоставленного регулярного выражения ("regex").

Синтаксис

Функция REGEXREPLACE заменяет строки в предоставленном тексте , который соответствует шаблону с заменой.

Синтаксис функции REGEXEXTRACT:

REGEXREPLACE(текст, шаблон, замена, [вхождение], [case_sensitivity])

Аргумент Описание
текст
(обязательно)
Текст или ссылка на ячейку, содержащую текст, в котором нужно заменить строки.
шаблон
(обязательно)
Регулярное выражение ("регулярное выражение"), описывающее шаблон текста, который требуется заменить.
Замена
(обязательно)
Текст, который требуется заменить экземплярами шаблона.
Вхождение Указывает, какой экземпляр шаблона требуется заменить. По умолчанию значение вхождения равно 0, которое заменяет все экземпляры. Отрицательное число заменяет этот экземпляр при поиске с конца.
case_sensitivity Определяет, учитывается ли совпадение регистра. По умолчанию для сопоставления учитывается регистр. Введите одно из следующих значений:
0: С учетом регистра
1: Без учета регистра

Примечание

При написании шаблонов регулярных выражений можно использовать символы, называемые токенами, которые соответствуют различным символам. Ниже приведены некоторые простые маркеры для справки:

  • "[0-9]": любая числовая цифра
  • "[a-z]": символ в диапазоне от a до z.
  • ".": любой символ
  • "a": символ "a"
  • "a*": ноль или больше "a"
  • "a+": один или несколько "a"
  • Все регулярные выражения для этой функции, а также REGEXTEST и REGEXEXTRACT используют PCRE2 "flavor" регулярного выражения.
  • REGEXEXTRACT всегда возвращает текстовые значения. Эти результаты можно преобразовать обратно в число с помощью функции VALUE.

Примеры

Скопируйте пример данных и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Пример 1

Использование REGEXREPLACE для анонимизации номеров телефонов путем замены первых 3 цифр на ***, используя шаблон

"[0-9]+-"

Данные.
Соня Рис (378) 555-4195
Ангел Браун (878) 555-8622
Блейк Мартин (437) 555-8987
Уильям Кирби (619) 555-4212
Эйвери Смит (579) 555-5658
Паркер Джонс (346) 555-0925
Лиам Смолл (405) 555-0887
Холли Рис (666) 555-1872
Формулы.
=REGEXREPLACE(A2;"[0-9]+-","***-")

На следующем рисунке показан результат. Чтобы отобразить разрывы строк в результате, необходимо обвести текст в ячейку A4.

Использование REGEXREPLACE для замены первых трех цифр каждого номера телефона в смешанном тексте на *, используя шаблон [0-9]+-

Пример 2

Используйте REGEXREPLACE с записью групп, чтобы разделить и изменить порядок заданных имен и фамилий, используя шаблон: "([A-Z][a-z]+)([A-Z][a-z]+)"; и замена: "$2, $1".

Примечание: Группы записи определяются в шаблоне с круглыми скобками "()" и могут быть заменены как " $n". В этом примере 1 и 2 долл. США ссылались на первую и вторую группы записи соответственно.

Данные.
СоняБроун
Формулы.
=REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1")

На следующем рисунке показаны результаты.

Использование REGEXREPLACE с группами записи для разделения и изменения порядка имени и фамилии с помощью шаблона ([A-Z][a-z]+)([A-Z][a-z]+) и замены: $2, $1