我想知道是否有一个Java的LIB与像实现:isTemperature(),isPercentual(),isDistanceUnit(),isWeightUnit(),isProperName(),isDate(),isYear(),isPhone(),isLocation(),什么更可以定义.
不仅单位是我的兴趣,而且所有类型的分类都可以做,可以是数字或单词.
这将用于对文本中的单词进行分类.
不是我知道的.但是,你仍然可以自己创建做同样事情的方法......
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()方法添加更多单位.如果您需要更多方法或有任何疑问,请询问.:)
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |