截取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);
});
输出如下:
评论区