list - Dart 列表计数在拆分空字符串时显示一个

标签 list dart

我正在尝试从sqlite中的“文本列”进行基本的抓取,并将其处理为List<String>模型中的字段。如果数据为空,那么我想将其设置为空列表[]。但是,由于某种原因执行此操作时,我得到的列表看起来是空的,但实际上长度为1。要重新创建此问题,我使用以下内容简化了该问题。

String stringList = '';
List<String> aList = [];
aList = stringList.split(',');
print(aList.length);

为什么此打印1?它不应该返回0,因为其中没有带逗号的值吗?

最佳答案

这应该打印1。

在逗号上分割字符串时,您会发现字符串中逗号的所有位置,然后返回围绕这些字符串的列表。其中包括第一个逗号之前和最后一个逗号之后的字符串。
在输入不包含逗号的情况下,您仍然会找到初始字符串。

如果您的示例是:

String input = "451";
List<String> parts = input.split(",");
prtin(parts.length);

您可能希望零件是列表["451"]。这也是这里发生的情况,因为split函数不能将空部分与非空部分区分开。

如果字符串中确实包含逗号(例如,字符串","),则拆分时会得到两个部分,在这种情况下,将分为两个空部分。通常,对于包含n个拆分模式匹配项的字符串,您将获得n + 1个部分。

关于list - Dart 列表计数在拆分空字符串时显示一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52159136/

相关文章:

python - 计算 python 中的二维列表

r - 对存储在列表中的一系列模型进行方差分析

python - 检查列表是否包含python中的另一个列表

dart - Flutter GestureDetector : How to pinch in/out or zoom in/out Text using two fingers?

Dartlang 语法用 mixin 扩展类?

flutter - 未处理的异常 : FileSystemException: Cannot open file, 路径 = 'assets/xml/strings.xml'(操作系统错误 : No such file or directory, errno = 2)

python - 如何从python3中的单行输入读取整数数组

dart - 使用statemachine pub软件包时同时进入两种状态?

flutter - 如何将Gridview放在Column小部件中的Card小部件附近

python - 根据前一个元素递增下一个元素