String 如何在dart中将字符串分隔为键/值对?

String 如何在dart中将字符串分隔为键/值对?,string,flutter,dart,keyvaluepair,String,Flutter,Dart,Keyvaluepair,在dart中如何将字符串拆分为键/值对?字符串由“=”分隔。如何提取成对值 main(){ var stringTobeSeparated = ['ab = cd','ef = gh','ld = kg']; Map<String ,dynamic> map = {}; for (String s in stringTobeSeparated) { var keyValue = s.split("="); /

在dart中如何将字符串拆分为键/值对?字符串由
“=”
分隔。如何提取成对值

    main(){
  
  var stringTobeSeparated = ['ab = cd','ef = gh','ld = kg'];

Map<String ,dynamic> map = {};
    for (String s in stringTobeSeparated) {
          var keyValue = s.split("=");
    //failed to add to a map , to many positiona arguments error
         map.addAll(keyValue[0],keyValue[1]);
      
        
        }
}
main(){
var stringTobeSeparated=['ab=cd','ef=gh','ld=kg'];
Map={};
用于(字符串中的字符串s要分离){
var keyValue=s.split(“=”);
//未能将添加到映射,添加到多个位置参数错误
map.addAll(keyValue[0],keyValue[1]);
}
}
split()函数为您提供了一个字符串列表,因此您只需检查此列表的长度是否等于2,然后您就可以在映射中添加这些值,如下所示:

Map<String, String> map = {};
for (String s in stringTobeSeparated) {
    var list = s.split("=");
    if(list.length == 2) {
        // list[0] is your key and list[1] is your value
        map[list[0]] = list[1];
    }
}
Map={};
用于(字符串中的字符串s要分离){
var list=s.split(“=”);
如果(list.length==2){
//列表[0]是您的键,列表[1]是您的值
map[list[0]]=list[1];
}
}

您可以使用
map
对此,接受的答案是正确的,但由于您的字符串如下所示

var stringTobeSeparated = ['ab = cd','ef = gh','ld = kg'];
我宁愿使用正则表达式从最终结果中删除空格(用
split
替换该行):


你所拥有的有什么问题吗?我正在从一个api检索数据,我需要把它放在pair-value格式中是什么阻止你这么做的?如果你熟悉java,在分离字符串后可能检索键值。所以我要求在Dart中做类似的事情,你展示一些代码,但是你没有提到尝试的结果或者为什么它不起作用。
var list = s.split(RegExp(r"\s+=\s+"));