開始使用免費開始

sub 與 gsub(2)

規則表示式最好的學習方式就是動手做並多看範例。在你為本題的規則表示式傷腦筋之前,先看看會用到的新東西:

  • .*:老面孔!可理解為「任意字元,重複 0 次以上」。
  • \\s:比對空白。原本的字母 s 是一般字元,加上跳脫符號(\\)後變成中介字元(metacharacter)。
  • [0-9]+:比對數字 0 到 9,至少出現 1 次(+)。
  • ([0-9]+):括號用來將比對到的字串片段擷取出來,供取代時使用。在 sub()replacement 參數中,\\1 會被設為由規則表示式 [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 已經在工作空間中定義好了,你可以直接在主控台開始嘗試。

本練習屬於課程

R 中級

檢視課程

動手互動練習

將理論付諸實踐,立即體驗我們的互動練習

開始練習