使用捕獲組重新排列字串
如果要更改字串的順序,可以使用 pattern
中的括號將字串的各個部分組合在一起。這些組可以在 replacement
引數中使用連續數字進行加法。
以下示例顯示如何將“surname,forename”形式的名稱向量重新排序為 forename surname
形式的向量。
library(randomNames)
set.seed(1)
strings <- randomNames(5)
strings
# [1] "Sigg, Zachary" "Holt, Jake" "Ortega, Sandra" "De La Torre, Nichole"
# [5] "Perkins, Donovon"
sub("^(.+),\\s(.+)$", "\\2 \\1", strings)
# [1] "Zachary Sigg" "Jake Holt" "Sandra Ortega" "Nichole De La Torre"
# [5] "Donovon Perkins"
如果你只需要姓氏,你可以只解決第一對括號。
sub("^(.+),\\s(.+)", "\\1", strings)
# [1] "Sigg" "Holt" "Ortega" "De La Torre" "Perkins"