java中判斷一個字符串是否“都為數字”和“是否包含數字”和“截取數字”


在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.用正則表達式 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM