You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中提取字符串中形如{xxx}的内容为字符串列表?

在Dart中提取字符串中所有{字符串}格式的内容

完全可行,用正则表达式就能轻松实现这个需求,以下是具体的实现代码:

void main() {
  String hello = "test test {Brian} have you {Adam} always and {Corner} always";
  // 定义匹配{...}格式的正则表达式
  RegExp pattern = RegExp(r'\{[^{}]+\}');
  // 提取所有匹配项并转为字符串列表
  List<String> data = pattern.allMatches(hello).map((match) => match.group(0)!).toList();
  
  print(data); // 输出结果: [{Brian}, {Adam}, {Corner}]
}

关键说明:

  • 正则表达式r'\{[^{}]+\}'的作用:
    • \{:匹配字面量{(正则中{是特殊字符,需要用反斜杠转义)
    • [^{}]+:匹配一个或多个**不是{和}**的字符,避免匹配嵌套的花括号(如果你的场景里没有嵌套需求,这个规则完全够用)
    • \}:匹配字面量}
  • allMatches方法会返回字符串中所有符合正则规则的匹配结果,再通过map把每个匹配项的完整内容(group(0))提取出来,最后转成列表即可。

内容的提问来源于stack exchange,提问作者abiyyu hakam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:55:28