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.用正则表达式 

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


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;
    }


































你可能感兴趣的:(Java)