如何反转R中的句子?

How to reverse a sentence in R?

我想要一个接受字符串(不是向量)并反转该字符串中单词的函数。

例如,

rev_sentence("hi i'm five")
## [1] "five i'm hi"

我有一个函数可以反转单个字符,但不能反转本质上是一个句子的字符串。

R中,我们可以用strsplit分割一个或多个空格,然后将元素反转paste在一起

sapply(strsplit(str1, "\s+"), function(x) paste(rev(x), collapse=" "))
#[1] "five i'm hi"

如果只有一个字符串,则

paste(rev(strsplit(str1, "\s+")[[1]]), collapse= " ")
#[1] "five i'm hi"

Python中,选项为splitjoin反转后([::-1])

" ".join("hi i'm five".split()[::-1])
#"five i'm hi"

或使用reversed

" ".join(reversed("hi i'm five".split()))
#"five i'm hi"

数据

str1 <- "hi i'm five"