VOBC工具中java常用的方法彙總

常用方法如下:

// 字符串取數
    public String stringGetNum(String str) {
        String str2 = "";
        if (str != null && !"".equals(str)) {
            for (int i = 0; i < str.length(); i++) {
                if ((str.charAt(i) >= 48 && str.charAt(i) <= 57) || str.charAt(i) == 46 || str.charAt(i) == 45) {
                    str2 += str.charAt(i);
                }
            }
            return str2;
        }
        return str;
    }

    public String stringGetEng(String str) {
        String str2 = "";
        if (str != null && !("".equals(str))) {
            for (int i = 0; i < str.length(); i++) {
                if ((str.charAt(i) <= 'z' && str.charAt(i) >= 'a') || (str.charAt(i) <= 'Z' && str.charAt(i) >= 'A')) {
                    str2 += str.charAt(i);
                }
            }
            return str2;
        }
        return str;
    }

    // 字符串取字符
    // 判斷一個字符串是否是數字
    public boolean stringMatchesNum(String str) {
        String regex = "^(\\-|\\+)?\\d+(\\.\\d+)?$";
        boolean p = Pattern.matches(regex, str);
        return p;
    }

    // 判斷一個字符串是否是十六進制數字
    public boolean stringMatchesHex(String str) {
        String regex = "^0[x|X][A-Fa-f0-9]{1,8}$";
        boolean p = Pattern.matches(regex, str);
        return p;
    }

    // 判斷一個字符串是null或者是空字符串
    public boolean string_IsNull_Or_IsZeroLength(String str) {
        if (null == str || "".equals(str.trim())) {
            return true;
        } else {
            return false;
        }
    }

    // 判斷一個字符串不爲null不爲空字符串
    public boolean string_NotNull_And_NotZeroLength(String str) {
        if (null != str && !("".equals(str.trim()))) {
            return true;
        } else {
            return false;
        }
    }

    // 判斷一個字符串不爲null不爲空字符串並且是數字
    public boolean string_NotNull_And_NotZeroLength_And_MatchesNum(String str) {
        if (null != str && !("".equals(str.trim())) 
                && stringMatchesNum(str.trim())) {
            return true;
        } else {
            return false;
        }
    }

    // 判斷一個字符串不爲null不爲空字符串並且是十六進制數字
    public boolean string_NotNull_And_NotZeroLength_And_MatchesHex(String str) {
        if (null != str && !("".equals(str.trim())) 
                && stringMatchesHex(str.trim())) {
            return true;
        } else {
            return false;
        }
    }

    // 獲取一個字符串中的數字,字符串分成兩側,一側是數字一側是字符
    public String getStringMatchesNum(String str) {
        String DkValue = "";
        // 獲取公里標前綴標識
        String regex = "(\\-|\\+)?\\d+(\\.\\d+)?";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(str);

        if (m.find()) {
            // System.out.println("Found value: " + m.group() );
            DkValue = m.group().toString();
            return DkValue.trim();
        } else {
            // System.out.println("NO MATCH");
            return "";
        }
    }

// 獲取公里標標識
    public String getDkName(String DisKilo) {
        // String a = "11aZDK41640.73a";
        String DkValue = "";
        // 獲取公里標前綴標識
        String DkFlag = getDkFlag(DisKilo);
        String regex = "^.*" + DkFlag;
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(DisKilo);

        if (m.find()) {
            // System.out.println("Found value: " + m.group() );
            DkValue = m.group().toString();
            return DkValue.trim();
        } else {
            // System.out.println("NO MATCH");
            return "";
        }

    }

    // 獲取公里標值
    public String getDkValue(String DisKilo) {
        // String a = "11aZDK41640.73a";
        String DkValue = "";
        // 獲取公里標前綴標識
        String DkFlag = getDkFlag(DisKilo);
        String regex = "(?<=" + DkFlag + ").*$";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(DisKilo);

        if (m.find()) {
            // System.out.println("Found value: " + m.group() );
            DkValue = m.group().toString();
            return DkValue.trim();
        } else {
            // System.out.println("NO MATCH");
            return "";
        }

    }

    // 獲取公里標符號
    public String getDkFlag(String DistanceKilo) {
        // String a = "11aZDK41640.73a";
        String DkFlag = "";
        for (int i = 0; i < ldDkFlag.length; i++) {
            if (null != DistanceKilo && !"".equals(DistanceKilo.trim())) {
                if (DistanceKilo.contains(ldDkFlag[i])) {
                    DkFlag = ldDkFlag[i];
                    return DkFlag;
                }
            }
        }
        return DkFlag;
    }

11111

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章