R 如何切换字符串的第一个和最后一个元素的位置?

R 如何切换字符串的第一个和最后一个元素的位置?,r,pattern-matching,R,Pattern Matching,我有一个带有字符列的数据框,名称格式如下:“Lastname Middlename Title”。我需要交换“Lastname”和“Title”,这会改变每行有多少中间名 输入示例: Doe John Mr. Smith John Doe Mr. 期望输出: Mr. John Doe Mr. John Doe Smith 我使用tokenizer将输入字符串拆分,然后按相反顺序进行。我注意到你的例子是相反的顺序,所以这就是我的工作。如果你有其他例子,它们不是按相反的顺序排列的,你所要做的

我有一个带有字符列的数据框,名称格式如下:
“Lastname Middlename Title”
。我需要交换
“Lastname”
“Title”
,这会改变每行有多少中间名

输入示例:

Doe John Mr. 
Smith John Doe Mr.
期望输出:

Mr. John Doe 
Mr. John Doe Smith

我使用
tokenizer
将输入字符串拆分,然后按相反顺序进行。我注意到你的例子是相反的顺序,所以这就是我的工作。如果你有其他例子,它们不是按相反的顺序排列的,你所要做的就是按照你需要的顺序排列它们

library(tokenizers)
string <- "Doe John Mr. Smith Doe John Mr."
y <- tokenize_words(string, strip_punct = TRUE, simplify = TRUE)  
rev(y)
库(标记器)

string您可以使用
sub
和backreferences来完成。使用数据
x我们可以使用
strplit

str1 <- "Doe John Mr." 
str2 <- "Smith John Doe Mr."

Reduce(paste, el(strsplit(str1, " "))[3:1])
# [1] "Mr. John Doe"

Reduce(paste, el(strsplit(str2, " "))[c(4, 2, 3, 1)])
# [1] "Mr. John Doe Smith"

str1请包括一个可复制的示例。为此,请使用
c