检查字符串是否包含任何非数字字符 - 没有库 - Java

时间:2014-10-29 20:07:57

标签: java regex

熟悉正则表达式的人可能会清楚这一点,但我不是。

示例(让我澄清一下:这是一个例子):

String onlynumbers = "1233444";
String numbersanddigits = "123344FF";

if ( onlynumbers IS_ONLY_NUMBERS())
    return true;

if ( numbersanddigits IS_ONLY_NUMBERS())
    return false;

连连呢?有没有办法在不导入库的情况下进行类似的检查?

2 个答案:

答案 0 :(得分:4)

尝试使用String.matches("\\d+")。如果该语句返回false,则字符串中的字符不是数字。 \d表示字符必须是数字,+表示每个字符必须是数字。

像这样:

String onlynumbers = "1233444";
String numbersanddigits = "123344FF";

System.out.println(onlynumbers.matches("\\d+")); // prints "true"
System.out.println(numbersanddigits.matches("\\d+")); // prints "false"

答案 1 :(得分:2)

您可以尝试:

if (onlynumbers.matches("[0-9]+")
    return true;

if (numbersanddigits.matches("[0-9]+")
    return false;

此外,作为快捷方式,您可以使用\\d+代替[0-9]+。选择哪一个只是一个选择问题。