问题描述
如何在dart中将字符串分成键/值对?该字符串用import re
def repl(s):
return '#' * len(s)
some_string = 'This is text blah,other text blahhhh and more text'
some_regex = r'(blah+)'
split = re.split(some_regex,some_string)
for i in range(0,len(split),2): # every other element is between the matches
split[i] = repl(split[i])
new_string = ''.join(split)
print(new_string)
分隔。以及如何提取对值?
"="
解决方法
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+"));