我有一个用逗号分隔的标签字符串,即IE“ g,羊,狗”。如何将其分为三个变量?我试过了;
var splitag = tagname.split(",");
var splitag1 = splitag[0];
var splitag2 = splitag[1];
var splitag3 = splitag[2];
但是,如果任何变量为null,则将引发错误。所以我尝试了;
String splitagone = splitag1 ?? "";
String splitagtwo = splitag2 ?? "";
String splitagthree = splitag3 ?? "";
但是我遇到了同样的错误。那么,还有另一种方法可以检查标记是否不为null并使用变量吗?
if(tagname != null) {
tagname.split(',').forEach((tag) {
// something?
});
}
答案 0 :(得分:4)
您可以使用Map
,它更适合于具有动态长度的变量:
final tagName = 'grubs, sheep';
final split = tagName.split(',');
final Map<int, String> values = {
for (int i = 0; i < split.length; i++)
i: split[i]
};
print(values); // {0: grubs, 1: sheep}
final value1 = values[0];
final value2 = values[1];
final value3 = values[2];
print(value1); // grubs
print(value2); // sheep
print(value3); // null
答案 1 :(得分:0)
如果只想检查标记名是否为空,则使用tagname?.split()
。但是,当您获得值时,您也将必须执行此操作,因为否则,您将获得空异常splitTag?[] ?? ""
。如果要返回空字符串而不是null,则为可选。
答案 2 :(得分:0)
你可以使用一个列表,一个一个地添加项目
final names= 'first, second';
final splitNames= names.split(',');
List splitList;
for (int i = 0; i < split.length; i++){
splitList.add(splitNames[i]);
}