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

grepl & grep (2)

Bạn có thể dùng dấu mũ ^ và dấu đô la $ để khớp nội dung ở đầu và cuối chuỗi, tương ứng. Điều này giúp tiến gần hơn tới mẫu đúng để chỉ khớp các địa chỉ email kết thúc bằng ".edu" trong danh sách email của chúng ta. Nhưng vẫn còn vài phần cần thêm để mẫu mạnh hơn:

  • @, vì một email hợp lệ phải chứa ký tự at-sign.
  • .*, khớp với bất kỳ ký tự nào (.) lặp lại 0 lần hoặc nhiều lần (*). Cả dấu chấm và dấu sao đều là metacharacter. Bạn có thể dùng chúng để khớp mọi ký tự nằm giữa dấu at-sign và phần ".edu" của địa chỉ email.
  • \\.edu$, để khớp phần ".edu" của email ở cuối chuỗi. Phần \\ dùng để "escape" dấu chấm: nó báo cho R rằng bạn muốn dùng . như một ký tự thực sự.

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

  • Dùng grepl() với biểu thức chính quy nâng cao để trả về một vector logic. Chỉ cần in kết quả ra.
  • Làm tương tự với grep() để tạo một vector chỉ số. Lưu kết quả vào biến hits.
  • Dùng lại emails[hits] để lấy phần con của vector emails.

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 grepl() to match for .edu addresses more robustly


# Use grep() to match for .edu addresses more robustly, save result to hits


# Subset emails using hits
Chỉnh sửa và Chạy Mã