開始使用免費開始

搜尋與取代

str_replace() 是用來取代字串部分內容的通用函式。一個常見做法是把某段內容取代成空字串,這是移除字串中不需要部分的簡單方式。

有了擷取群組,str_replace() 就更有趣了:它能讓你改變元素的順序。只要在替換字串中加入所謂的「反向參照」,str_replace() 會以對應擷取群組的內容來取代這些參照。例如:如果你寫 \\1,就會被替換成第 1 個擷取群組的內容。

在這個練習中,你會同時看到兩種用法:第一種是移除子字串,第二種是重新排列字串中的兩個部分。在工作環境中,你會找到上一個練習的變數 top_10_lines

本練習屬於課程

R 中級 Regular Expressions

檢視課程

練習說明

  • top_10_lines 每一行「結尾」的 3D 以空字串取代,等於把它移除。
  • 使用兩個擷取群組組成一個新的句子,並重新排列它們的順序,使結果如 "Karate Kid is on rank 1"

動手互動練習

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

# Remove a space followed by "3D" at the end of the line
str_replace(
  top_10_lines,
  pattern = "___",
  replacement = ___
)

# Use backreferences 2 and 1 to create a new sentence
str_replace(
  top_10_lines,
  pattern = "(\\d+)\\. (.*)",
  replacement = "___ is at rank ___"
)
編輯並執行程式碼