这可能是一个愚蠢的问题,但是在使用DART的RegExp与regexp匹配之后,我找不到任何关于如何替换文本的参考.

基本上我想做的是这样的: 我有一条这样的短信

'{name : aName, hobby : [fishing, playing_guitar]}'

我想使用此模式\b\w+\b匹配字符串,然后使用"$&"替换.我预计输出如下:

'{"name" : "aName", "hobby" : ["fishing", "playing_guitar"]}'

所以稍后我可以用dart:jsonparse把它变成Map.

也许我错过了什么.有没有人知道我怎样才能实现这个替代方案?

推荐答案

你必须用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);

这个食谱是由Dart Cookbook人赞助的.

Dart相关问答推荐

我们应该将多少代码放入构造函数中?

S,返回Future.sync()的函数和不需要等待的异步函数有什么区别?

dart中如何从xpath获取属性值?

切换到可靠的零安全后简单分配中的可空性不匹配

AppLifcycleState.didChangeLifecycleState( ) 函数在应用程序进入前台或后台时不被调用

如何使用 Dart 分析器从源代码生成 AST 并使用 AST?

Flutter DatePicker 没有day选项

有没有办法在Flatter中使用PageView实现无限循环?

如何使用 StreamBuilder 更新 TextField 的值?

在 Dart 中将对象推入数组

Firebase Crashlytics 崩溃未报告给 Flutter 中的 Firebase 控制台

如何组织混合HTTP服务器+web客户端Dart元素文件?

如何减少 ListView.builder 中 RaisedButton 的宽度?

Flutter判断变量是否为 NaN

Dart 语法高亮不是高亮 dart 代码

Dart 交互/访问数据库

在 Dart 中实现观察者模式

dart - 数字格式

用一个 catch 表达式在 Dart 中捕获多种特定的异常类型

在 Dart 中覆盖哈希码的好方法是什么?