Dart如何检查字符串列表中的一部分字符串是否包含某个元素

8

我有一个字符串:

String s = "Hel";

我有一个字符串列表。

List<String> listS = ["Hello", "Goodbye"];

以下代码会输出true,因为“Hello”包含“Hel”:
list[0].contains(s); 

以下代码将输出 false:
list.contains(s);

如何检查列表是否包含字符串S而不给出索引?循环不是一个选项,因为我正在使用三元运算符:

list.contains(s) ? .....
3个回答

13

检查可迭代对象中是否有任何元素满足测试条件

test(String value) => value.contains(s);

listS.any(test);

4
您可以循环每个项目,并在项目包含该字符串时返回true,如下所示:
String s = 'Hel';

  List<String> list = ['Egypt', 'Hello', 'Cairo'];

  bool existed = false;
  list.forEach((item) {
    if(item.contains(s)){
      existed = true;
      print(item);
    } 
  });

1
Dart有一个用于处理列表的过滤方法。
String s = "Hel";
List<String> listS = ["Hello", "Goodbye"];

以下将为您提供匹配项目的列表。您可以对结果列表进行一些操作。
listS.where((element) => element.contains(s)).toList();

或者你可以检查长度是否匹配。
listS.where((element) => element.contains(s)).length;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接