Функция 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.
Пример 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") |
На следующем рисунке показаны результаты.