Java有一个isSomething()库吗?

Ren*_*ani 0 java definition

我想知道是否有一个Java的LIB与像实现:isTemperature(),isPercentual(),isDistanceUnit(),isWeightUnit(),isProperName(),isDate(),isYear(),isPhone(),isLocation(),什么更可以定义.

不仅单位是我的兴趣,而且所有类型的分类都可以做,可以是数字或单词.

这将用于对文本中的单词进行分类.

fir*_*w52 6

不是我知道的.但是,你仍然可以自己创建做同样事情的方法......

isTemperature()

boolean isTemperature(String check) {
    char[] letters = check.toCharArray();
    if (check.indexOf("°").equals((letters.length - 1)) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

isPercentual()

boolean isPercentual(String check) {
    try {
        double verify = Double.parseDouble(check);
    } catch (NumberFormatException e) {
        return false;
    }
    char[] numbers = check.toCharArray();
    if (check.indexOf("%").equals(numbers.length) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

isDistanceUnit()

boolean isDistanceUnit(String check, boolean customary) {
    String[] customaryUnits = {"mi","yd","ft","in"};
    String[] metricUnits = {"mm","cm","dm","m","km"};
    if (customary) {
        for (int i = 0; i <= customaryUnits.length; i++) {
            if (check.toLowerCase().contains(customaryUnits[i])) {
                return true;
            }
        }
        return false;
    } else {
        for (int i = 0; i <= metricUnits.length; i++) {
            if (check.toLowerCase().contains(metricUnits[i])) {
                return true;
            }
        }
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

isWeightUnit()

boolean isWeightUnit(String check, boolean customary) {
    String[] customaryUnits = {"lb","oz","T"};
    String[] metricUnits = {"kg"}; //I'm sorry that's all I know :(
    if (customary) {
        for (int i = 0; i <= customaryUnits.length; i++) {
            if (check.toLowerCase().contains(customaryUnits[i])) {
                return true;
            }
        }
        return false;
    } else {
        for (int i = 0; i <= metricUnits.length; i++) {
            if (check.toLowerCase().contains(metricUnits[i])) {
                return true;
            }
        }
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

isProperName()

boolean isProperName(String check) {
    char[] letters = check.toCharArray();
    String[] capLetters = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
    for (int i = 0; i <= capLetters.length; i++) {
        if (letters[0].equals(capLetters[i])) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

isDate()

更新:现在我可以给你这个.不过,在我做之前请快速说明.在代码的开头添加这些行,否则此方法将不起作用.

import java.text.SimpleDateFormat;
import java.text.ParseException;
//--------------------------------------------------------------------------------
boolean isDate(String check) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    if (check.trim().length != dateFormat.toPattern().length) {
        return false;
    }
    dateFormat.setLenient(false);
    try {  
        dateFormat.parse(check.trim());
    } catch (ParseException pe) {
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

isYear()

boolean isYear(String check) {
    try {
        int verify = Integer.parseInt(check);
    } catch (NumberFormatException e) {
        return false;
    }
    char[] verify2 = check.toCharArray();
    if ((verify2.length).equals(4)) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

isPhone()

您还没有真正说出要查询的电话号码.我猜你想要一个这种形式(865-867-5309).

boolean isPhone(String check) {
    float firstHyphen = check.indexOf("-");
    char[] numbers = check.toCharArray();
    float check2 = numbers.length / 3;
    if (firstHypen.equals(check2)) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

isLocation()

我道歉,我现在不能给你这个.:(

isEmail()

boolean isEmail(String check) {
    String[] emailDomains = {".com",".net",".org"};
    String[] emailProviders = {"gmail","yahoo","hotmail","aol","tds","comcast","charter","peoplepc"}; //add more if you want
    char[] check2 = check.toCharArray();
    for (int i = 0; i <= emailProviders.length; i++) {
        for (int x = 0; x <= emailDomains.length; x++) {
            if ((check.indexOf(emailDomains[x]).equals(check2.length)) && (check.indexOf(emailProviders[i]).equals(check2.length - emailDomains[x].toCharArray().length)) {
            return true;
            }
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

如果您愿意,可以为方法isDistanceUnit()isWeightUnit()方法添加更多单位.如果您需要更多方法或有任何疑问,请询问.:)