如何反转R中的句子?

时间:2018-04-13 06:07:04

标签: r reverse

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

例如,

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

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

1 个答案:

答案 0 :(得分:10)

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"