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

如何用R语言生成字符串拆分后元素的所有连续长度组合?

获取拆分后水果元素的所有连续组合

原始数据

fruits <- c(
  "apples and oranges and pears and bananas",
  "pineapples and mangos and guavas"
)

str_split(fruits, " and ", simplify = TRUE)

需求

拆分上述字符串后,提取所有可能的连续元素组合(组合长度可为1、2、3等),输出格式如下:

apples
apples + oranges
apples + oranges + pears
apples + oranges + pears + bananas

oranges
oranges + pears
oranges + pears + bananas

pears
pears + bananas

实现代码

library(stringr)

# 拆分目标字符串并转为向量
fruit_vec <- str_split(fruits[1], " and ")[[1]]

# 遍历生成所有连续组合
total <- length(fruit_vec)
for (start_pos in 1:(total - 1)) {
  # 从当前起始位置生成1到剩余长度的组合
  for (combo_len in 1:(total - start_pos + 1)) {
    current_combo <- fruit_vec[start_pos:(start_pos + combo_len - 1)]
    cat(paste(current_combo, collapse = " + "), "\n")
  }
  # 不同起始位置的组合间换行分隔
  cat("\n")
}

运行结果

apples
apples + oranges
apples + oranges + pears
apples + oranges + pears + bananas

oranges
oranges + pears
oranges + pears + bananas

pears
pears + bananas

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:07:36