Bắt đầu ngayBắt đầu miễn phí

sub & gsub

Trong khi grep()grepl() chỉ dùng để kiểm tra xem một biểu thức chính quy có khớp với một vector ký tự hay không, thì sub()gsub() tiến thêm một bước: bạn có thể chỉ định đối số replacement. Nếu trong vector ký tự x tìm thấy pattern là biểu thức chính quy, các phần tử khớp sẽ được thay bằng replacement. sub() chỉ thay thế lần khớp đầu tiên, còn gsub() thay thế tất cả các lần khớp.

Giả sử vector emails mà bạn đang làm việc là một đoạn trích từ cơ sở dữ liệu email của DataCamp. Tại sao không đề nghị chủ nhân của các địa chỉ email .edu một địa chỉ mới trên miền datacamp.edu? Đây có thể là một chiêu tiếp thị khá hiệu quả: Giáo dục trực tuyến đang dần thay thế các cơ sở đào tạo truyền thống! Hãy chuyển đổi email của bạn và trở thành một phần của thế hệ mới!

Bài tập này là một phần của khóa học

R nâng cao

Xem khóa học

Hướng dẫn bài tập

Với biểu thức chính quy nâng cao "@.*\\.edu$", dùng sub() để thay phần khớp bằng "@datacamp.edu". Vì mỗi chuỗi ký tự chỉ có một lần khớp, gsub() không cần thiết ở đây. Hãy xem đầu ra thu được.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
Chỉnh sửa và Chạy Mã