1. Введение в функцию REGEXREPLACE
Функция REGEXREPLACE является мощным инструментом в Excel, который позволяет пользователям находить и заменять подстроки в тексте с помощью регулярных выражений. Это особенно полезно для очистки данных или массового форматирования строк.

2. Параметры функции REGEXREPLACE
Вот синтаксис использования функции
REGEXREPLACE
.=REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])
text
: обязательно Текст или ссылка на ячейку, содержащую текст, в котором вы хотите заменить строки. pattern
: обязательно Регулярное выражение ("regex"), которое описывает шаблон текста, который вы хотите заменить. replacement
: обязательно Текст, которым вы хотите заменить экземпляры шаблона. occurrence
: необязательно Указывает, какой экземпляр шаблона вы хотите заменить. По умолчанию occurrence равно 0, что заменяет все экземпляры. Отрицательное число заменяет этот экземпляр, начиная с конца. case_sensitivity
: необязательно Определяет, чувствительна ли совпадение к регистру. По умолчанию совпадение чувствительно к регистру. Введите одно из следующих значений: 0
: Чувствительно к регистру1
: Не чувствительно к регистру3. Пример Сценария: Форматирование Номеров Телефонов
Например, предположим, что у вас есть список номеров телефонов в различных форматах, и вы хотите стандартизировать их в формате
(xxx) xxx-xxxx
. Использование функции REGEXREPLACE
может значительно упростить этот процесс.

4. Начало работы с функцией REGEXREPLACE
Введите на клавиатуре:
=REGEXREPLACE(
, затем выберите A5
как текст для обработки.
5. Удалить Нецифровые Символы
Здесь мы устанавливаем регулярное выражение как:
"\D"
, которое соответствует любому нецифровому символу, а затем устанавливаем замену на пустую строку: ""
.
6. Применить Функцию REGEXREPLACE
Таким образом, мы можем заменить все нецифровые символы в номерах телефонов на ничего.
Вы можете заметить, что данные выглядят неизменными, поскольку исходный формат уже является числовым. Давайте применим то же самое обработку к другим строкам.
Вы можете заметить, что данные выглядят неизменными, поскольку исходный формат уже является числовым. Давайте применим то же самое обработку к другим строкам.

7. Успешно Отфильтрованы Нецифровые Символы
Теперь мы успешно отфильтровали нецифровые символы из номеров телефонов.

8. Форматировать Номера Телефонов
Мы также можем преобразовать номера телефонов в фиксированный формат
Регулярное выражение, используемое здесь, это:
(xxx) xxx-xxxx
. Регулярное выражение, используемое здесь, это:
"(\d{3})[.-]?\s?(\d{3})[.-]?\s?(\d{4})"
, а регулярное выражение замены: "($1) $2-$3"
.
9. Анализ Совпадения Регулярного Выражения
Здесь мы используем три группы захвата регулярных выражений, чтобы разделить номер телефона на три части. Каждая часть соответствует цифрам в номере телефона.
text:
regularExpr:
123-456-7890
(\d{3})[.-]?\s?(\d{3})[.-]?\s?(\d{4})
1
123
(\d{3})
2
-
[.-]?\s?
3
456
(\d{3})
4
-
[.-]?\s?
5
7890
(\d{4})
1
(\d{3})
(
\d
Цифра{3}
Квантификатор)
2
[.-]?\s?
[.-]
Набор символов.
, символ -
.?
Квантификатор\s
Набор символов?
Квантификатор3
(\d{3})
(
\d
Цифра{3}
Квантификатор)
4
[.-]?\s?
[.-]
Набор символов.
, символ -
.?
Квантификатор\s
Набор символов?
Квантификатор5
(\d{4})
(
\d
Цифра{4}
Квантификатор)
10. Разбор замены регулярных выражений
Затем мы объединяем три части, соответствующие регулярному выражению, в желаемом формате.
text:
regularExpr:
(123) 456-6789
($1) $2-$3
1
(
(
2
123
$1
3
)
)
4
5
456
$2
6
-
-
7
6789
$3
1
(
Символ2
$1
Содержимое первой группы захвата3
)
Символ4
символ пробела
Символ5
$2
Содержимое второй группы захвата6
-
Символ7
$3
Содержимое третьей группы захвата11. Успешно отформатированные номера телефонов
Таким образом, мы успешно отформатировали номера телефонов в желаемый формат. Примените это к другим строкам, чтобы завершить весь процесс очистки данных.

12. Случаи неудачи совпадения регулярных выражений
Вас может озадачить тот факт, что наше регулярное выражение
На самом деле причина заключается в том, что функция
"(\d{3})[.-]?\s?(\d{3})[.-]?\s?(\d{4})"
не совпало с номерами телефонов, которые изначально имели формат (xxx) xxx-xxxx
. На самом деле причина заключается в том, что функция
REGEXREPLACE
возвращает оригинальный текст без изменений, если регулярное выражение не совпадает. Поэтому нет необходимости совпадать с номерами телефонов, которые изначально имели формат (xxx) xxx-xxxx
.

13. 🎉 Закончить! 🎉
Заметка автора: Надеюсь, вы почувствуете усилия, которые я вложил в эти учебные пособия. Я надеюсь создать серию очень простых в понимании уроков Excel.Если это полезно, помогите мне поделиться этими учебными пособиями, спасибо!
Следуйте за мной:
