sub и gsub
Функции grep() и grepl() позволяют лишь проверить, встречается ли регулярное выражение в символьном векторе. Функции sub() и gsub() идут дальше: они принимают аргумент replacement, который задаёт строку замены. Если в символьном векторе x найдено совпадение с шаблоном pattern, соответствующий элемент (или элементы) будет заменён на значение replacement. При этом sub() заменяет только первое совпадение, тогда как gsub() заменяет все совпадения.
Предположим, что вектор emails, с которым вы работали, — это фрагмент базы данных электронных адресов DataCamp. Почему бы не предложить владельцам адресов в домене .edu новый адрес в домене datacamp.edu? Это могло бы стать настоящим маркетинговым ходом: онлайн-образование вытесняет традиционные учебные заведения! Переходите — и становитесь частью нового поколения!
Это упражнение является частью курса
Intermediate R
Инструкции к упражнению
Используя расширенное регулярное выражение "@.*\\.edu$", примените функцию sub(), чтобы заменить найденное совпадение на "@datacamp.edu". Поскольку в каждой строке встречается не более одного совпадения, использовать gsub() здесь не нужно. Изучите полученный результат.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
"invalid.edu", "[email protected]", "[email protected]")
# Use sub() to convert the email domains to datacamp.edu