这可能是一个愚蠢的问题,但我找不到任何关于如何使用dart
的{{1}}与正则表达式匹配后替换文本的参考。
所以基本上我要做的就是这样: 我有这样的文字
RegExp
我希望使用此模式匹配字符串'{name : aName, hobby : [fishing, playing_guitar]}'
然后使用此\b\w+\b
替换,然后我希望输出如下:
"$&"
所以稍后我可以使用'{"name" : "aName", "hobby" : ["fishing", "playing_guitar"]}'
的{{1}}将其转换为dart:json
。
也许我想念一些东西,小心翼翼地给我一些指针?
答案 0 :(得分:17)
您必须使用String.replaceAllMapped。
final string = '{name : aName, hobby : [fishing, playing_guitar]}';
final newString = string.replaceAllMapped(new RegExp(r'\b\w+\b'), (match) {
return '"${match.group(0)}"';
});
print(newString);
此食谱由Dart Cookbook赞助。