How to determine whether a string contains an integer?
假设您有一个要测试的字符串,以确保它包含一个整数,然后再继续处理其他代码。在Java中,你会用什么来找出它是否是一个整数?
如果您想确保它只是一个整数并将其转换为一个整数,我将在
您可以检查以下内容是否正确:
1 2 3 4 5 6 7 |
我使用字符串类中的matches()方法:
4这样,您还可以验证数字的范围是否正确。
这应该有效:
1 2 3 4 5 6 7 | public static boolean isInteger(String p_str) { if (p_str == null) return false; else return p_str.matches("^\\d*$"); } |
你可以一直用谷歌的番石榴
1 2 3 | String text ="13567"; CharMatcher charMatcher = CharMatcher.DIGIT; int output = charMatcher.countIn(text); |
您可能还想看看java.util.scanner
例子:
1 | new Scanner("456").nextInt |
用户正则表达式:
只需按try/catch包装integer.parse()(numberFormatException)
1 2 3 4 5 |
您可以使用apache stringutils.isnumeric。
如果只想测试,如果字符串只包含整数值,请编写如下方法:
1 2 3 4 5 6 7 8 9 10 | public boolean isInteger(String s) { boolean result = false; try { Integer.parseInt("-1234"); result = true; } catch (NumberFormatException nfe) { // no need to handle the exception } return result; } |
使用integer.parseint()方法,网址为http://docs.oracle.com/javase/10/docs/api/java/lang/integer.html