數字、單字與空白
到目前為止,你可能總是在搜尋某個確切的數字或單字。現在你手上有更彈性的工具,可以搜尋:
\\d數字(0 到 9)\\w單字字元(英文字母、數字或底線)\\s空白字元(也包含 tab 與換行)
此外,你也可以使用方括號 [A-Za-z],在裡面列出可能的取值。
你已經找出所有 "Saw" 的續集了。你能建立一個樣式,來比對 movie_titles 清單中的「所有續集」嗎?它們通常在結尾有一個數字,對吧?
另外,清單裡因為英式拼法 "Grey" 與美式拼法 "Gray" 產生了重複。請建立一個樣式,能同時比對這兩種顏色的拼法。
最後,列出所有包含特殊、非單字字元的片名。
本練習屬於課程
R 中級 Regular Expressions
練習說明
- 比對所有在結尾為「空白一格」接著「一個數字」的片名(必須是結尾)。
- 使用自訂樣式
[…]同時比對"Grey"與"Gray"。 - 撰寫一個樣式,能比對「除了」單字字元
\\w與空白\\s以外的所有字元。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# List all movies that end with a space and a digit
movie_titles[str_detect(movie_titles,
pattern = "___"
)]
# List all movies that contain "Grey" or "Gray"
movie_titles[str_detect(movie_titles,
pattern = "Gr___y"
)]
# List all movies with strange characters (no word or space)
movie_titles[str_detect(movie_titles,
pattern = "[___]"
)]