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

如何修复Java字符串@标签解析问题:拆分连写的@标签

修复连续@标签的解析问题

原来的代码只通过空格分割字符串,这就导致没有被空格隔开的连续@标签(比如@georgios@gsabanti)会被当成一个整体,没法拆分出两个独立标签。要解决这个问题,咱们可以用正则表达式来精准匹配所有符合格式的@标签,不管它们之间有没有空格。

解决方案代码

String text = "test comment @georgios@gsabanti sefse @afa";
List<String> tags = new ArrayList<>();

// 正则规则:匹配以@开头,后面跟着一个或多个非@字符的内容
Pattern tagPattern = Pattern.compile("@[^@]+");
Matcher matcher = tagPattern.matcher(text);

// 遍历所有匹配到的标签
while (matcher.find()) {
    tags.add(matcher.group());
}

// 验证结果:输出 [@georgios, @gsabanti, @afa]
System.out.println(tags);

代码说明

  • 正则表达式@[^@]+的含义:
    • @:匹配标签的起始符号
    • [^@]+:匹配一个或多个不是@的字符,这样就能把每个@标签从开始位置,到下一个@或者字符串结尾的部分完整提取出来
  • Matcher.find()会遍历整个字符串,找到所有符合规则的片段,完美解决了连续标签无法拆分的问题

对比原来的按空格分割逻辑,这种方法更灵活,不管标签是被空格隔开还是连在一起,都能正确识别每个独立的@标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:57:30