Dart语言如何将包含坐标的字符串转换为List列表?
解决方案
方法1:使用JSON解析(推荐,适配标准格式输入)
你的输入字符串本身就是合法的JSON数组结构,直接调用Dart内置的JSON解析工具即可,无需手动处理字符串:
import 'dart:convert'; void main(){ String cords_string = "[0, 0]"; List<int> cords_list = (jsonDecode(cords_string) as List<dynamic>) .map((e) => e as int) .toList(); // 测试输出:[0, 0] print(cords_list); }
方法2:纯字符串处理(适配格式不规范的输入)
如果你的输入格式可能存在轻微偏差(比如括号不标准、多余空格等),可以手动处理字符串提取数值:
void main(){ String cords_string = "[0, 0]"; // 先移除所有方括号,再按逗号分割后逐个转成int List<int> cords_list = cords_string .replaceAll(RegExp(r'[\[\]]'), '') .split(',') .map((e) => int.parse(e.trim())) .toList(); // 测试输出:[0, 0] print(cords_list); }
注意事项
- 如果输入内容可能存在非数字字符,建议将
int.parse替换为int.tryParse并添加空值处理逻辑,避免运行时报错。 - 若数组元素类型不固定,可将
List<int>修改为List<dynamic>适配多类型场景。
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

