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