Дротик, как совместить, а затем заменить регулярное выражение
Это может быть глупый вопрос, но я не могу найти ссылку на то, как заменить текст после сопоставления регулярным выражением с помощью dart
RegExp
.
Итак, в основном я пытаюсь сделать так:
У меня есть такой текст
'{name : aName, hobby : [fishing, playing_guitar]}'
Я хочу сопоставить строку с помощью этого шаблона \b\w+\b
, а затем заменить с помощью этого "$&"
, тогда я ожидаю, что результат будет таким:
'{"name" : "aName", "hobby" : ["fishing", "playing_guitar"]}'
Поэтому позже я могу использовать dart:json
parse
, чтобы превратить это в Map
.
Может, я что-то пропустил, позабочусь дать мне какой-то указатель?
Ответы
Ответ 1
Вы должны использовать String.replaceAllMapped.
final string = '{name : aName, hobby : [fishing, playing_guitar]}';
final newString = string.replaceAllMapped(RegExp(r'\b\w+\b'), (match) {
return '"${match.group(0)}"';
});
print(newString);
Спонсором этого рецепта является Поваренная книга по дартсу.