在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,昨天在接口中用到了,顺便查了下,总结了下,下次用到,顺手拈来

// 判断一个字符串是否都为数字  
public boolean isDigit(String strNum) {  
    return strNum.matches("[0-9]{1,}");  
}  
  
// 判断一个字符串是否都为数字  
public boolean isDigit(String strNum) {  
    Pattern pattern = Pattern.compile("[0-9]{1,}");  
    Matcher matcher = pattern.matcher((CharSequence) strNum);  
    return matcher.matches();  
}

//截取数字  
public String getNumbers(String content) {  
    Pattern pattern = Pattern.compile("\\d+");  
    Matcher matcher = pattern.matcher(content);  
    while (matcher.find()) {  
       return matcher.group(0);  
    }  
    return "";  
}  
  
// 截取非数字  
public String splitNotNumber(String content) {  
    Pattern pattern = Pattern.compile("\\D+");  
    Matcher matcher = pattern.matcher(content);  
    while (matcher.find()) {  
        return matcher.group(0);  
    }  
    return "";  
}
  
// 判断一个字符串是否含有数字
public boolean HasDigit(String content) {
    boolean flag = false;
    Pattern p = Pattern.compile("^[-\\+]?[\\d]*$");
    Matcher m = p.matcher(content);
    if (m.matches()) {
        flag = true;
    }
    return flag;
}

java中判断字符串是否为数字的四种方法 :

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.可以使用lang3下的包下StringUtils类的方法isNumeric()

String str="1235456";
boolean flag =StringUtils.isNumeric(str);

3..用正则表达式 

  public static boolean isNumeric(String str) {
        Pattern pattern = Pattern.compile("[0-9]*");
        return pattern.matcher(str).matches();
    }

4.用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;
    }

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐