java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”(转)
-
http://cherryqq.iteye.com/blog/406355
在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;
}