A. java中验证字符串是不是数字的四种方法
判断字符串是不是数字,大家可能会用一些java自带的方法,也有可能用其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了。但本文介绍的比较好的两种方法:
1。java类库自带的方法:
public boolean isNum(String msg){
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;}return false;}0202更新:发现以上方法写得不够到位,现在就改为下面的简单说明了,至于具体的方法实现字符串判断是否数字就不写了。
java.lang.Character.isDigit(char ch) boolean
isDigit 只能作用于char,所以判断字符串是否为数字,要一个一个拿出char进行判断。
2。用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,接下来是代码
public boolean isNumeric(String str){Pattern pattern = Pattern.compile(”[0-9]*”);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){return false;}return true;}02
3。用正则表达式
B. Java中判断字符串是否为数字的几种方法
1.使用Character.isDigit(char)判断
char num[] = str.toCharArray();//把字符串转换为字符数组
StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中
StringBuffer hire = new StringBuffer();//把数字放到hire中
for (int i = 0; i < num.length; i++) {
// 判断输入的数字是否为数字还是字符
if (Character.isDigit(num[i])) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
hire.append(num[i]);// 如果输入的是数字,把它赋给hire} else {title.append(num[i]);// 如果输入的是字符,把它赋给title}}}
2.使用类型转换判断try {String str="123abc";
int num=Integer.valueOf(str);//把字符雹态升串强制转换为闭睁数字
return true;//如果是数字,返回True
} catch (Exception e) {
return false;//如果抛出异常,返回False}
3.使用正则表达式判断
String str = "";
boolean isNum = str.matches("[0-9]+");
//+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如"源老"或"7")
ps:这个方法只能用于判断是否是正整数
C. java 怎么判断一个字符串中是否包含数字
java中判断字符串是否为数字的方法:
1.用JAVA自带的函数
public static boolean isNumeric(String str){
for (int i = 0; i < str.length(); i++){
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
3.使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:
isNumeric
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
StringUtils.isNumeric(null) = false
StringUtils.isNumeric("") = true
StringUtils.isNumeric(" ") = false
StringUtils.isNumeric("123") = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false
Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null
上面三种方式中,第二种方式比较灵活。
第一、三种方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false;
而第二方式则可以通过修改正则表达式实现校验负数,将正则表达式修改为“^-?[0-9]+”即可,修改为“-?[0-9]+.?[0-9]+”即可匹配所有数字。
D. java中判断字符串是否为纯数字
方法一:利用正则表达式 public class Testone { public static void main(String[] args){ String str="123456"; boolean result=str.matches("[0-9]+"); if (result == true) { System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}方法二:利用Pattern. import java.util.regex.Matcher; import java.util.regex.Pattern; public class Testone { public static void main(String[] args){ String str="123456"; Pattern pattern = Pattern.compile("[0-9]{1,}"); Matcher matcher = pattern.matcher((CharSequence)str); boolean result=matcher.matches(); System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}
E. java 正则匹配字符是否为纯数字
java 正则匹配字符为纯数字方法:
定义正则表达式为:
Stringreg="^\d+$"
获取要判断的字符串:
Stringstr;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化
调用字符串的matches方法判断字符串为纯数字情况:
str.matches(reg);
如果是纯数字返回为true,否则返回为false;
F. java中怎么判断指定的数据是字符串是否是数字
java中判断字符串是否为数字的方法:
1.用JAVA自带的函数
public static boolean isNumeric(String str){for (int i = 0; i < str.length(); System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){return false;} }return true}
2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){ return false; } return true; }
G. java中如何用正则表达式判断一个字符串中是否包含0-9的数字
// 判断一个字符串是否都为数字
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;
}