НачатьНачать бесплатно

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
Редактировать и запускать код