grepl & grep (2)
สามารถใช้เครื่องหมาย ^ และ $ เพื่อจับคู่เนื้อหาที่อยู่ต้นและท้ายของ string ตามลำดับ ซึ่งช่วยให้ pattern ของเราใกล้เคียงกับการค้นหาเฉพาะอีเมล ".edu" จากรายการมากขึ้น แต่ยังมีส่วนเพิ่มเติมที่ทำให้ pattern รัดกุมยิ่งขึ้นได้อีก:
@เพราะอีเมลที่ถูกต้องต้องมีเครื่องหมาย at-sign.*ซึ่งจับคู่อักขระใดก็ได้ (.) ตั้งแต่ศูนย์ครั้งขึ้นไป (*) ทั้งจุดและเครื่องหมายดอกจัน ต่างเป็น metacharacter ใช้เพื่อจับคู่อักขระใดก็ได้ระหว่าง at-sign กับส่วน ".edu" ของอีเมล\\.edu$เพื่อจับคู่ส่วน ".edu" ที่ท้าย string โดย\\ทำหน้าที่ escape จุด หมายความว่าต้องการใช้.เป็นอักขระจริง ๆ ไม่ใช่ metacharacter
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลาง
คำแนะนำการฝึกหัด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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