ipv4字符串转换成为32位整型值形式的ipv4

题目描述
给定ipv4字符串,可能含有数字,圆点,空格。 如“192. 168 . 1. 1 2 3 ”,要求将其做格式化成一个标准ipv4字符串,然后转换成为32位整型值形式的ipv4.

 /**
     * https://www.nowcoder.com/questionTerminal/66ca0e28f90c42a196afd78cc9c496ea
     * @param s
     * @return
     */
    public static int getIPV4(String s){
        int error = 0;
        if(s==null || s.length()==0 || !s.contains(".")){
            return error;
        }
        String[] subs = s.split("\\.");
        //不是4段
        if(subs.length!=4){
            return error;
        }
        int result = 0;
        for(int i=subs.length-1;i>=0;i--){
            int sub = Integer.parseInt(subs[i].replaceAll(" ",""));
            if(sub>255){
                return error;
            }
            if(i == 2){
                sub = sub<<8;
            }else if(i ==1){
                sub = sub<<16;
            }else if(i == 0){
                sub = sub << 24;
            }
            result +=sub;
        }

        return result;

    }

你可能感兴趣的:(ipv4字符串转换成为32位整型值形式的ipv4)