You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何反转句子?求实现字符串(非向量)单词反转的函数

实现字符串单词反转的R函数

没问题,我帮你搞定这个需求!你需要的是单词级别的反转,而不是单个字符的反转,所以思路很明确:先把句子拆成独立单词,反转单词顺序后再拼回去就行。

直接上符合你要求的函数代码:

rev_sentence <- function(input_str) {
  # 第一步:把输入字符串按空格拆分成单词列表
  word_list <- strsplit(input_str, " ")[[1]]
  # 第二步:反转单词列表的顺序
  reversed_word_list <- rev(word_list)
  # 第三步:把反转后的单词用空格拼接成完整字符串
  paste(reversed_word_list, collapse = " ")
}

来测试你给的示例看看效果:

rev_sentence("hi i'm five")
# 输出结果:[1] "five i'm hi"

简单聊下逻辑

你之前写的单个字符反转函数,应该是针对单个字符串的字符顺序反转(比如把"test"变成"tset"),但句子反转需要先把整个字符串拆成「单词单元」——这里用strsplit()按空格拆分,得到单词向量后,用R内置的rev()反转向量顺序,最后用paste()加collapse参数把单词重新粘成句子就搞定了。

如果遇到多个连续空格的情况,你可以把strsplit的分隔符改成"\\s+"(匹配任意数量的空白字符),这样拆分出来的单词就不会有空字符串啦,比如:

rev_sentence("hi   i'm   five") # 多个空格的情况
# 输出还是:[1] "five i'm hi"

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:23:28