Функция РЕГЗАМЕНИТЬ позволяет заменять текст из строки другой строкой на основе предоставленного регулярного выражения ("регулярное выражение").
Синтаксис
Функция РЕГЗАМЕНИТЬ заменяет строки в предоставленном тексте , соответствующие шаблону , с заменой.
Синтаксис функции РЕГИЗВЛЕЧЬ выглядит следующим образом:
РЕГВЫРАЖЕНИЕ(текст; шаблон; замена; [вхождение]; [case_sensitivity])
| Аргумент | Описание |
|---|---|
|
текст (обязательно) |
Текст или ссылка на ячейку, содержащую текст, в которой нужно заменить строки. |
|
шаблон (обязательно) |
Регулярное выражение ("regex"), описывающее образец текста, который нужно заменить. |
|
замена (обязательно) |
Текст, который нужно заменить вхождения шаблона. |
| Вхождение | Определяет, какой экземпляр шаблона нужно заменить. По умолчанию вхождение равно 0, что заменяет все вхождения. Отрицательное число заменяет этот экземпляр при поиске с конца. |
| case_sensitivity | Определяет, учитывается ли регистр в совпадении. По умолчанию совпадение чувствительно к регистру. Введите одно из следующих значений: 0: С учетом регистра 1: Без учета регистра |
Примечание
При написании шаблонов регулярных выражений можно использовать символы, называемые "маркерами", которые совпадают с различными символами. Вот несколько простых маркеров для справки:
- "[0-9]": любая цифра
- "[a-z]": символ в диапазоне от А до Я
- ".": любой символ
- "a": символ "a"
- "a*": ноль или больше "a"
- "a+": одна или несколько "a"
- Все регулярные выражения для этой функции, а также РЕГТЕСТ и РЕГИЗВЛЕЧЬ используют "разновидность" регулярного выражения PCRE2.
- Функция РЕГИЗВЛЕЧЬ всегда возвращает текстовые значения. Эти результаты можно преобразовать обратно в число с помощью функции ЗНАЧЕН.
Примеры
Скопируйте пример данных и вставьте их в ячейку 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 |
| Формулы. |
| =РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ(A2;"[0-9]+-";"***-") |
Результат показан на следующем рисунке. Необходимо осуществить перенос текста в ячейке A4, чтобы отобразить разрывы строк в результате.
Пример 2
Используйте функцию РЕГЗАМЕНИТЬ с группами захватов для разделения и изменения порядка имени и фамилии, используя шаблон: "([A-Z][a-z]+)([A-Z][a-z]+)"; и замена: "$2, $1".
Примечание. Группы захвата определяются шаблонно в круглых скобках "()", и вместо них можно ссылаться как на "$n". В этом примере $1 и $2 ссылаются на первую и вторую группы захвата соответственно.
| Данные. |
|---|
| SoniaBrown |
| Формулы. |
| =РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2;$1") |
На следующем рисунке показаны результаты.