可以使用正则表达式来判断一个字符串是否为数字。以下是一个使用正则表达式判断数字的示例代码:
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String str1 = "12345";
String str2 = "12.345";
String str3 = "-123";
String str4 = "abc123";
System.out.println(isNumeric(str1)); // 输出: true
System.out.println(isNumeric(str2)); // 输出: true
System.out.println(isNumeric(str3)); // 输出: true
System.out.println(isNumeric(str4)); // 输出: false
}
public static boolean isNumeric(String str) {
Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?");
return pattern.matcher(str).matches();
}
}
上述代码中,isNumeric
方法使用了正则表达式-?\\d+(\\.\\d+)?
来判断字符串是否为数字。该正则表达式的含义是:可选的负号,后面跟着一个或多个数字(整数部分),然后可选的小数部分由一个小数点和一个或多个数字组成。
通过调用pattern.matcher(str).matches()
方法来判断字符串是否匹配该正则表达式,如果匹配则返回true
,否则返回false
。