在我们处理字符串时,有时候会遇到这样一种情况:当输入的字符串不是全部由数字组成时,调用Integer.parseInt()函数时会抛出异常
在遇到类似的情况时, 我们可以使用正则表达式来判断输入字符串是否匹配我们需要的模式,这时我们需要用到String类的match( )方法.
此方法定义的语法如下:
public boolean matches(String regex) 这个方法告诉这个字符串是否在给定的正则表达式匹配。形式str.matches(regex)这个方法的调用会产生完全相同的结果作为表达式 Pattern.matches(regex, str)。 如果此方法返回true,当且仅当该字符串指定的正则表达式匹配。
至于具体的正则表达式的用法,这篇博客讲的非常详细http://blog.csdn.net/amaowolf/article/details/7758215. 例如,如果我们想让用户输入6位0-9之间的整数,可以使用匹配串"\\d{6}",
测试结果如下
部分测试代码如下public class StringProcess {
public static void main(String[] args) {
String a = args[0];
if(a.length() > 0 && !a.matches("\\d{6}"))
System.out.println("请输入6位0-6之间的整数");
else {
int b = Integer.parseInt(a);
System.out.println(b);
}
}
}
时间: 2024-11-05 05:48:12