開始使用免費開始

sub 與 gsub

grep()grepl() 只能用來檢查某個正規表示式是否能與字元向量比對;sub()gsub() 更進一步:你可以指定 replacement 引數。若在字元向量 x 中找到正規表示式 pattern,符合的元素會被 replacement 取代。sub() 只會取代第一個符合項,而 gsub() 會取代所有符合項。

假設你一直在用的 emails 向量,是 DataCamp 電子郵件資料庫的一小段。為什麼不主動提供持有 .edu 信箱的使用者,一個 datacamp.edu 網域的新信箱呢?這可能是很有效的行銷做法:線上教育正快速改變傳統學習機構!把你的信箱換過來,成為新世代的一員!

本練習屬於課程

R 中級

檢視課程

練習說明

使用進階正規表示式 "@.*\\.edu$",透過 sub() 將比對到的部分取代為 "@datacamp.edu"。由於每個字串只會有 1 個符合,因此這裡不需要 gsub()。檢視產生的輸出。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
            "invalid.edu", "[email protected]", "[email protected]")

# Use sub() to convert the email domains to datacamp.edu
編輯並執行程式碼