颤振如何将列表字符串转换为列表

时间:2020-03-24 03:55:32

标签: flutter dart

我正在尝试将列表字符串更改为list,有字符串:

appointments

我尝试了json.decode,但是由于单引号导致报告错误,我不知道其他解决此问题的方法。

所以我想问一下如何用飞镖解决它,谢谢〜

1 个答案:

答案 0 :(得分:0)

通过以下方法将字符串列表转换为字符串列表。

1)这将所有元素组合在一个列表中。

var list =
    "[['one', 'two', 'three', 'four'], ['one\'s next', 'two\'s next', 'three\'s next', 'four\'s next']]";
final regExp =
    new RegExp(r"(\w+\\?\'?\w*\s?\w+)"); 
var result = regExp
    .allMatches(list)
    .map((m) => m.group(1))
    .map((String item) => item.replaceAll(new RegExp(r'[\[\],]'), ''))
    .map((m) => m)
    .toList();
print(result);

输出: [一个,两个,三个,四个,一个,s,下一个,两个,s,下一个,三个,s,下一个,四个,s,下一个]

2)如果您希望它明智地列出项目,请遵循以下代码。

   var list =
        "[['one', 'two', 'three', 'four'], ['one\'s next', 'two\'s next', 'three\'s next', 'four\'s next']]";
    final regExp = new RegExp(r'(?:\[)?(\[[^\]]*?\](?:,?))(?:\])?');
    final regExp2 = new RegExp(r"(\w+\\?\'?\w*\s?\w+)");
    final result = regExp
        .allMatches(list)
        .map((m) => m.group(1))
        .map((String item) => item.replaceAll(new RegExp(r'[\[\],]'), ''))
        .map((m) => [m])
        .toList();
    final result2 = List();
    for (int i = 0; i < result.length; i++) {
      result2.add(regExp2
          .allMatches(result[i].toString())
          .map((m) => m.group(1))
          .map((m) => m)
          .toList());
    }

    print(result2[0]);
    print(result2[0][0]);

输出:[1、2、3、4]

一个