求助:如何在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
相关产品推荐
相关产品推荐

