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

例如,

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"

关于r - 如何在R中颠倒句子?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49810313/

10-15 02:12