【发布时间】:2023-03-23 08:04:01
【问题描述】:
如何检查java中的字符串是否没有字母,只有数字?谢谢你的回答
【问题讨论】:
如何检查java中的字符串是否没有字母,只有数字?谢谢你的回答
【问题讨论】:
您可以使用正则表达式:yourString.matches("\\d+")
\\d 表示 0-9 一位数,+ 表示一位或多位,组合 \\d+ 等于一位或多位数字 :)
【讨论】:
使用正则表达式:
string.matches("\\d*");
"\d*" 表示“一个数字 (0-9) 零次或多次”。或者,您可以将“*”替换为“+”以表示“一次或多次”。
【讨论】:
您可以只遍历字符串并检查每个字符(如果考虑性能,可能比使用正则表达式更有效)。
boolean isAllDigit(String s) {
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) < '0' || s.charAt(i) > '9') {
return false;
}
}
return true;
}
【讨论】:
你为什么不把它放在 try/catch 中?
String number="a123.2";
try {
Double.parseDouble(number);
System.out.println("It's a number");
} catch (Exception e) {
System.out.println("This is not a number!");
}
【讨论】:
org.apache.commons.lang.StringUtils.isNumeric(String) 验证输入字符串中的所有字符都是数字。
它被实现为(如果你不想要第 3 方依赖):
int sz = str.length();
for (int i = 0; i < sz; i++) {
if (Character.isDigit(str.charAt(i)) == false) {
return false;
}
}
return true;
【讨论】: