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

求助:如何在Flutter中使用正则表达式提取指定子字符串

在Flutter中提取字符串中@标记后的带空格内容

要实现提取@符号后直到下一个@或字符串结尾的内容(包含空格),可以用Dart的正则表达式来完成,具体方案如下:

正则表达式说明

使用正则 @([^@]+):

  • @:匹配起始的@符号
  • ([^@]+):捕获组,匹配一个或多个非@的字符,这样就能把@后面直到下一个@之前的所有内容(包括空格)都捕获到

Flutter/Dart 代码示例

void main() {
  String input = "HI hello @shemeer ul haq how are you @nijinsha rah";
  // 定义正则表达式
  RegExp tagRegex = RegExp(r'@([^@]+)');
  
  // 提取所有匹配的内容
  List<String> result = tagRegex.allMatches(input)
      .map((match) => match.group(1)?.trim() ?? '') // 提取捕获组并去除前后空格
      .toList();
  
  print(result); // 输出: ["shemeer ul haq", "nijinsha rah"]
}

验证基础场景

如果输入是 "HI hello @shemeer how are you @nijin",运行上述代码会得到 ["shemeer", "nijin"],完全符合预期需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 18:42:08