栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

正则表达式和Object方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正则表达式和Object方法

1.

boolean matches(String regex) // regex代表正则表达式

使用给定的正则表达式,来验证当前字符串的格式是否符合要求,符合则返回true

public class MatchesDemo {
    public static void main(String[] args) {
        
        String email = "123456788@qq.com";
        String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+";
        boolean match = email.matches(regex);
        if (match) {
            System.out.println("是正确的邮箱");
        } else{
            System.out.println("不是正确的邮箱");
        }//是正确的邮箱
    }
2.

String[] split(String regex)
 将当前字符串按照满足正则表达式的部分进行拆分,并将拆分出来的以String[]形式来返回

import java.util.Arrays;


public class SplitDemo {
    public static void main(String[] args) {
        String line = "abc123def456ghi";
        String[] data = line.split("[0-9]+");//按数字拆(数字拆没了)
        System.out.println(Arrays.toString(data));//[abc, def, ghi]

        //最开始就是可拆分项目(.),那么数组第1个元素为空字符串--------“”
        //如果连续两个(两个以上)可拆分项,那么中间也会拆分出一个空字符串---“”
        //如果末尾连续多个可拆分项,那么拆出的空字符串被忽略
        String line1 = ".123.456..789.....";
        data = line1.split("\.");
        System.out.println(Arrays.toString(data));//[, 123, 456, , 789]
    }
}

3.

String replaceAll(String regex , String str)

将当前字符串中满足正则表达式的部分替换为给定的字符串

public class ReplaceAllDemo {
    public static void main(String[] args) {
        String line = "abc123def456ghi5";
        line = line.replaceAll("[0-9]+","#NUMBERA#");
        System.out.println(line);
    }
}

4.

equals()和toString()   idea快捷键 :Alt+Ins

point类若不重写Object类的toString()方法,则使用Object中定义的toString()方法
       返回的字符串格式为:类的全称@地址
       但通常这个返回结果对我们的开发没有帮助,所以我们经常重写toString()返回自己想要的内容
       java中的String、StringBuilder等已经重写toString()返回字符串内容

//Object演示
public class ObjectDemo {
    public static void main(String[] args) {
       
       
        
        Point p1 = new Point(100,200);
        System.out.println(p1.toString());
        System.out.println(p1);//print()输出对象时,会自动调用toString()
        String str = "这是个点:" + p1; //字符连接时,默认调用toString()
        System.out.println(str);
   }
}

Object中equals()内部还是使用==来比较地址的,没有实际意义
        因此派生类在使用时若想要比较内容,常常需要重写equals() 

//Object演示
public class ObjectDemo {
    public static void main(String[] args) {
    
        Point p1 = new Point(100,200);
        Point p2 = new Point(100,200);
        System.out.println(p1 == p2); //false , ==比较的是地址
        System.out.println(p1.equals(p2)); //false, 默认调用Object的equals()
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号