เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

sub & gsub (2)

Regular expressions เป็นแนวคิดที่เรียนรู้ได้ดีที่สุดจากการลงมือทำและดูตัวอย่าง ก่อนจะเริ่มคิดวิเคราะห์ regular expression ในแบบฝึกหัดนี้ มาทำความเข้าใจสิ่งใหม่ที่จะใช้กันก่อน:

  • .*: ตัวละครยอดนิยม! อ่านได้ว่า "อักขระใดก็ได้ที่จับคู่ได้ตั้งแต่ศูนย์ครั้งขึ้นไป"
  • \\s: จับคู่ช่องว่าง ตัวอักษร "s" ปกติคืออักขระทั่วไป แต่เมื่อใส่ escape (\\) จะกลายเป็น metacharacter
  • [0-9]+: จับคู่ตัวเลข 0 ถึง 9 อย่างน้อยหนึ่งครั้ง (+)
  • ([0-9]+): วงเล็บใช้เพื่อดึงส่วนที่จับคู่ได้มาใช้กำหนด replacement โดย \\1 ใน argument replacement ของ sub() จะถูกแทนที่ด้วยสตริงที่ capture ได้จาก regular expression [0-9]+
awards <- c("Won 1 Oscar.",
  "Won 1 Oscar. Another 9 wins & 24 nominations.",
  "1 win and 2 nominations.",
  "2 wins & 3 nominations.",
  "Nominated for 2 Golden Globes. 1 more win & 2 nominations.",
  "4 wins & 1 nomination.")

sub(".*\\s([0-9]+)\\snomination.*$", "\\1", awards)

โค้ดชุดนี้จะคืนค่าอะไร? awards ถูกกำหนดไว้ใน workspace แล้ว สามารถทดลองรันในคอนโซลได้เลย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

R ระดับกลาง

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง

เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา

เริ่มแบบฝึกหัด