You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart如何从列表中提取所有指定字符长度的字符串元素

实现方案

Dart 内置的 Iterable 过滤方法可以直接实现需求,无需额外引入依赖,完整示例代码如下:

void main() {
  List test = ['hello', 'two', 'mountain', 'day',  'tomorrow', 'bye', 'sad', 'yesterday'];
  // 过滤长度为3的字符串
  List expectedResult = test.where((element) => element.length == 3).toList();
  print(expectedResult); // 输出: [two, day, bye, sad]
}

代码说明

  • where() 方法会遍历列表的每一个元素,回调返回true的元素会被保留
  • 因为where()返回的是Iterable类型,所以最后调用toList()转成List类型即可
  • 如果列表可能存在非字符串元素,可加类型判断避免运行报错,优化写法如下:
List expectedResult = test.where((element) => element is String && element.length == 3).toList();

内容的提问来源于stack exchange,提问作者Jan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:15:03