0
点赞
收藏
分享

微信扫一扫

Guava中Iterators的使用

墨香子儿 2022-08-18 阅读 22

1、过滤掉错的数据

@Test
public void test2()
{
String ipText ="172.16.1.198\r\n172.16.3.50\r\n1245.3.2154.5";
Iterable<String> it = Splitter.on("\r\n").trimResults().omitEmptyStrings().split(ipText);
UnmodifiableIterator<String> filtered = Iterators.filter(it.iterator(), ip -> NetUtils.isIllLegalIp(ip));
while (filtered.hasNext())
{
String ip = filtered.next();
System.out.println(ip);
}
}

 

import java.util.regex.Pattern;

public final class NetUtils {

private NetUtils() {
}

private static final Pattern ipPattern = Pattern.compile("^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9]).(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d).(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d).(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$");

public static boolean isIllLegalIp(final String ip)
{
return ipPattern.matcher(ip).matches();
}
}

 

执行结果

Guava中Iterators的使用_Guava

 

举报

相关推荐

0 条评论