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 已經在工作空間中定義好了,你可以直接在主控台開始嘗試。
本練習屬於課程
