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(); } }
执行结果
本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。