如何用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
相关产品推荐
相关产品推荐

