开始使用免费开始使用

sub 与 gsub

虽然 grep()grepl() 只能用来检查某个正则表达式是否能与字符向量匹配,sub()gsub() 则更进一步:您可以指定一个 replacement 参数。如果在字符向量 x 中找到了正则表达式 pattern,匹配到的元素将被替换为 replacementsub() 只替换第一个匹配项,而 gsub() 会替换所有匹配项。

假设您一直在使用的 emails 向量是 DataCamp 邮件数据库的一个摘录。为何不为使用 .edu 邮箱地址的用户,提供一个 datacamp.edu 域的全新邮箱呢?这可能会是一次很有力的营销动作:在线教育正在改变传统的学习机构!转换您的邮箱,加入新一代!

本练习是课程的一部分

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
编辑并运行代码