1、过滤掉错的数据
@Test public void test2() { String ipText ="172.16.1.198 172.16.3.50 1245.3.2154.5"; Iterable<String> it = Splitter.on(" ").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(); } }
执行结果