flutter - Flutter/Dart:将字符串拆分为所有可能的组合
问题描述
如何将字符串拆分为所有可用组合的块?例如:
“12345”
会输出:
[1、12、123、1234、12345、2、23、234、2345、3、34、345、4、45]
这是据我所知:
String title = "12345";
List<String> keywordsList = List();
String temp = "";
String temp2 = "";
for (int i = 0; i < title.length; i++) {
temp = temp + title[i];
if (temp.length > 1) temp2 = temp2 + title[i];
keywordsList.add(temp);
if (temp2.length != 0) keywordsList.add(temp2);
}
print(keywordsList);
return keywordsList;
},
结果是:
[1、12、2、123、23、1234、234、12345、2345]
现在超级卡住了,将不胜感激。
提前致谢!
解决方案
您可以通过以下方式实现。
String number = '12345';
List<String> listnumber = number.split("");
List<int> output = [];
for (int i = 0; i < listnumber.length; i++) {
if (i != listnumber.length - 1) {
output.add(int.parse(listnumber[i]));
}
List<String> temp = [listnumber[i]];
for (int j = i + 1; j < listnumber.length; j++) {
temp.add(listnumber[j]);
output.add(int.parse(temp.join()));
}
}
print(output.toString());
推荐阅读
- z3 - 我们能否解决 Z3 中的一组约束,其中 ForAll 量词下的一些变量具有一系列值?
- file - UNIX 'ls' 命令排除不需要的文件
- pandas - 如何将多个镶木地板文件附加到 Pandas 中的一个数据框
- javascript - 如何使 for 循环等待/异步?
- sql - SQL 查询/过程根据最匹配的列在两个表之间找到最佳匹配
- mysql - 选择具有多个 id 的内部 JOIN
- php - 已编辑:PHP 代码无法识别表单提交
- javascript - 有两个条件的三元运算符
- node.js - 将 Lambda 函数更新到新的运行时。为什么 cURL 不再在 AWS Lambda 上的节点 10 中工作?
- vulkan - 如何使用两个计算着色器创建 Vulkan 图形管道