如何在飞镖中将字符串分成 key/value 对?
how separate string into key/value pair in dart?
如何在 dart 中将字符串分成 key/value 对?该字符串由 "="
分隔。以及如何提取对值?
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]);
}
}
split() 函数给你一个字符串列表,所以你只需要检查这个列表的长度是否等于 2,然后你可以像这样在 Map 中添加这些值:
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
,已接受的答案是正确的,但由于您的字符串看起来像这样
var stringTobeSeparated = ['ab = cd','ef = gh','ld = kg'];
我宁愿使用正则表达式从最终结果中删除空格(用 split
替换行):
var list = s.split(RegExp(r"\s+=\s+"));
如何在 dart 中将字符串分成 key/value 对?该字符串由 "="
分隔。以及如何提取对值?
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]);
}
}
split() 函数给你一个字符串列表,所以你只需要检查这个列表的长度是否等于 2,然后你可以像这样在 Map 中添加这些值:
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
,已接受的答案是正确的,但由于您的字符串看起来像这样
var stringTobeSeparated = ['ab = cd','ef = gh','ld = kg'];
我宁愿使用正则表达式从最终结果中删除空格(用 split
替换行):
var list = s.split(RegExp(r"\s+=\s+"));