Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 分割空字符串时显示一个的省道列表计数_List_Dart - Fatal编程技术网

List 分割空字符串时显示一个的省道列表计数

List 分割空字符串时显示一个的省道列表计数,list,dart,List,Dart,我正在尝试从sqlite中的文本列进行基本抓取,并将其处理为一个列表模型中的字段。如果数据为空,则我希望将其设置为空列表[]。然而,当我出于某种原因这样做时,我会得到一个看起来是空的但实际上长度为1的列表。为了重新创建这个问题,我用以下内容简化了这个问题 String stringList = ''; List<String> aList = []; aList = stringList.split(','); print(aList.length); 为什么打印1?因为没有带逗号

我正在尝试从sqlite中的文本列进行基本抓取,并将其处理为一个列表模型中的字段。如果数据为空,则我希望将其设置为空列表[]。然而,当我出于某种原因这样做时,我会得到一个看起来是空的但实际上长度为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个部分。

这应该打印1

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

如果你的例子是:

String input = "451";
List<String> parts = input.split(",");
prtin(parts.length);
您可能会期望零件成为列表[451]。这也是这里发生的事情,因为split函数不区分空部分和非空部分


如果字符串确实包含逗号,例如字符串,则在拆分时会得到两个部分,在本例中为两个空部分。通常,对于包含拆分模式的n个匹配项的字符串,您会得到n+1个部分。

谢谢您的解释。这很有帮助。谢谢你的解释。这很有帮助。