使用R重新排列simpsons名称以遵循名字,姓氏格式,但名称之间有大的空格,是否可以删除引用名称之外的空格?
library(stringr)
simpsons <- c("Moe Syzlak", "Burns, C. Montgomery", "Rev. Timothy Lovejoy", "Ned Flanders", "Simpson, Homer", "Dr. Julius Hibbert")
reorder <- sapply(sapply(str_split(simpsons, ","), str_trim),rev)
for (i in 1:length(name) ) {
splitname[i]<- paste(unlist(splitname[i]), collapse = " ")
}
splitname <- unlist(splitname)
答案 0 :(得分:0)
如果我们需要重新排列名字后跟姓氏,我们可以使用sub
。我们捕获的一个或多个字符不是组中的,
,后跟,
后跟0或更多空格(\\s*
),捕获一个或多个不是a的字符,
作为第二组,并在替换中反向反向引用以获得输出。
sub("([^,]+),\\s*([^,]+)", "\\2 \\1", simpsons)
#[1] "Moe Syzlak" "C. Montgomery Burns" "Rev. Timothy Lovejoy" "Ned Flanders" "Homer Simpson" "Dr. Julius Hibbert"