java 怎么判断string是中文还是数字

如题所述

1.判断字符串是否仅为数字:
1>用JAVA自带的函数 //只能校验不含负号的数字
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
2>用正则表达式
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
//可以校验含有负号的数字,"^-?[0-9]+"
//"-?[0-9]+.?[0-9]+"可检验所有数字
3>用ascii码
public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false; }
return true; }
4>用org.apache.commons.lang.StringUtils.StringUtils.isNumeric("123") //只能校验不含负号“-”的数字
温馨提示:答案为网友推荐,仅供参考
相似回答