如果有名字和姓氏,例如“ nandan,vivek”。我想显示为“ vivek nandan”。
n<-("nandan,vivek")
结果:
[1] vivek nandan
其中名字:vivek
姓氏:nandan
这是作者姓名。
答案 0 :(得分:0)
我们可以在此处尝试使用sub
input <- "nankin,vivek"
sub("([^,]+),\\s*(.*)", "\\2 \\1", input)
[1] "vivek nankin"
上面使用的正则表达式模式在单独的捕获组中匹配姓氏和名字。然后,以相反的顺序将这些捕获组替换,并用一个空格隔开。
答案 1 :(得分:0)
一个选项为sub
,以捕获字母([a-z]+
)后跟,
的子字符串,并再次捕获下一个单词([a-z]+
)。在替换中,反转反向引用的顺序
sub("([a-z]+),([a-z]+)", "\\2 \\1", n)
#[1] "vivek nandan"
非正则表达式选项是先分割字符串,然后paste
个rev
拼字
paste(rev(strsplit(n, ",")[[1]]), collapse=" ")
#[1] "vivek nandan"
或提取word
和paste
library(stringr)
paste(word(n, 2, sep=","), word(n, 1, sep=","))
#[1] "vivek nandan"
n<- "nandan,vivek"