截取String中全部的id值并存到Set中

截取String中全部特定格式之间的数据存入Set中,主要是通过定位每一个特定下标的位置来实现。
实现代码如下:

Set<String> set = new HashSet<>();
        String sb = "@53!28@59!64@qq!.com";
        int ch = 0,start,end;
        while (ch<sb.length()) {
            // 索引出现负数表示这个字符串中没有匹配的字符
            start = sb.indexOf("@",ch);
            end = sb.indexOf("!",ch);
            // 如果出现负数则进行返回,因为subString中不允许有负数
            if (start == -1 || end == -1) {
                break;
            }
            String str = sb.substring(start + 1, end);
            ch = end +1;
            set.add(str);
        }
        set.forEach(str->{
            System.out.println(str);
        });

输出如下:
在这里插入图片描述

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.fengpt.cn/archives/截取string中全部的id值并存到set中