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
和