这是与此相同的问题:
How can I convert this string to list of lists?
但对于Dart而不是python。我的目标(如在另一个问题中)是采取如下字符串:
String stringRep = '[[123],[122],[411]]';
并将其转换为列表列表。我可以看到我能够使用上面提到的答案中建议的方法之一来实现这一点,即:
str = "[[0,0,0],[0,0,1],[1,1,0]]"
strs = str.replace('[','').split('],')
lists = [map(int, s.replace(']','').split(',')) for s in strs]
但是想知道在Dart中是否有更好的方法但是却在努力寻找任何在线方式?
答案 0 :(得分:4)
您可以使用JSON解码器
import 'dart:convert';
...
var lists = JSON.decode('[[123],[122],[411]]');
<强>更新强>
final regExp = new RegExp(r'(?:\[)?(\[[^\]]*?\](?:,?))(?:\])?');
final input = '[[sometext],[122],[411]]';
final result = regExp.allMatches(input).map((m) => m.group(1))
.map((String item) => item.replaceAll(new RegExp(r'[\[\],]'), ''))
.map((m) => [m])
.toList();
print(result);