上一篇:一文教你掌握日期操作 | 带你学《Java语言高级特性》之二十二
在开发过程中,用户输入的数据往往需要接收为String字符串,而在处理时为了验证数据的格式,保证数据能够安全转换,我们可以使用正则表达式来达到这个目的。
【本节目标】
通过阅读本节内容,你可以了解到常用的验证字符串格式的方法是使用正则表达式,并学会简单的使用正则表达式来验证字符串是否为数字。
通过之前一系列的分析可以发现,String是一个非常万能的类型,因为String不仅仅可以支持有各种字符串的处理操作,也支持有向各个数据类型的转换功能,所以在项目的开发中,只要是用户输入的信息基本上都用String表示。于是在向其他数据类型转换时,为了保证转换的正确性,往往需要对其进行一些复杂的验证处理,那么这种情况下如果只是单纯的依靠String类中的方法是非常麻烦的。
认识正则表达式
现在假设有一个字符串要求你判断是否由数字所组成,如果由数字所组成则将其变为数字进行乘法计算。
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
String str = "123";
if (isNumber(str)) {
int num = Integer.parseInt(str);
System.out.println(num * 2); //246
}
}
public static boolean isNumber(String str) {
char data[] = str.toCharArray();
for (int x=0;x < data.length;x++){
if (data[x] >'9'|| data[x]< '0'){
return false;
}
}
return true;
}
}
实际上这种验证的功能是非常简单的,但是这如此简单的功能却需要开发者编写大量的程序逻辑代码,那如果更加复杂的验证呢?那么在这种情况下,对于验证来讲最好的做法就是利用正则表达式来完成。
范例:使用正则表达式实现同样的效果
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
String str = "123";
if (str.matches("\\d+")) {
int num = Integer.parseInt(str);
System.out.println(num * 2); //246
}
}
}
正则表达式最早是从Perl语言里面发展而来的,而后在JDK 1.4以前如果 需要使用到正则表达式的相关定义则需要单独引入其他的*.jar文件,但是从JDK1.4后,正则已经默认被JDK所支持,并且提供有java.util.regex开发包,同时针对于String 类也进行了一些修改,使其可以有方法直接支持正则处理。
使用正则最大特点在于方便进行验证处理,以及方便进行复杂字符串的修改处理。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学