我有一个字符串:
String s = "Hel";
我有一个字符串列表。
List<String> listS = ["Hello", "Goodbye"];
以下内容将打印为true,因为“Hello”包含“Hel”:
list[0].contains(s);
但是,以下内容将打印false:
list.contains(s);
我该怎么做才能在不给出索引的情况下检查列表是否包含字符串S?循环不是选项,因为我使用的是三元运算符:
list.contains(s) ? .....
f5emj3cl1#
检查可迭代对象的任何元素是否满足test
test(String value) => value.contains(s); listS.any(test);
tcomlyy62#
你可以为每一项循环一个返回true,只要一个项包含字符串,如下所示:
String s = 'Hel'; List<String> list = ['Egypt', 'Hello', 'Cairo']; bool existed = false; list.forEach((item) { if(item.contains(s)){ existed = true; print(item); } });
eagi6jfj3#
Dart有一个过滤方法来处理列表
String s = "Hel"; List<String> listS = ["Hello", "Goodbye"];
下面将为您提供匹配项目的列表。你可以用结果列表做些什么
listS.where((element) => element.contains(s)).toList();
或者您可以检查长度是否匹配。
listS.where((element) => element.contains(s)).length;
3条答案
按热度按时间f5emj3cl1#
检查可迭代对象的任何元素是否满足test
tcomlyy62#
你可以为每一项循环一个返回true,只要一个项包含字符串,如下所示:
eagi6jfj3#
Dart有一个过滤方法来处理列表
下面将为您提供匹配项目的列表。你可以用结果列表做些什么
或者您可以检查长度是否匹配。