java中判斷字串中是否包含數字
阿新 • • 發佈:2019-02-16
在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; }