Java基础总结之字符串String

从实习到转正至今也有8个月了,这段时间内也一直在总结自己工作中的各种小经验,供即将从事Java开发或者正在从事Java开发的小伙伴参考,本文主要讲的是String字符串的常用方法
废话不多说,都总结在代码中了,欢迎小伙伴提出建议

		//String 是不可变对象
       String example = "20191110202_guangdong_student_zhangsan.txt";
        /**
         * 字符串基本信息获取
         */
        //忽略大小写的字符串比较 true
        System.out.println(example.equalsIgnoreCase("20191110202_guangdong_student_zhangsan.TXT"));

        System.out.println(example.equals("20191110202_guangdong_student_zhangsan.txt")); //字符串比较 true
        System.out.println(example.length()); //长度42
        System.out.println("".isEmpty()); //是否是空串  true
        System.out.println(example.startsWith("2"));  //字符串开头是否是指定字符  true
        System.out.println(example.endsWith("a"));    //字符串结尾是否是指定字符  false
        System.out.println(example.contains("zh"));    //字符串是否包含子串      true

        System.out.println("================================================");
        /**
         * 字符串截取1:获取时间
         *  获取某字符第一次出现的位置
         *  indexOf("_")
         *  substring(0, oneIndex)
         */
        int oneIndex = example.indexOf("_");
        String timeString = example.substring(0, oneIndex);
        System.out.println(timeString);     //输出:20191110202
        /**
         * 字符串截取2:获取省份
         * 获取某字符第二次出现的位置
         * indexOf("_", oneIndex+1)
         */
        int twoIndex = example.indexOf("_", oneIndex+1); //字符第二次出现的位置
        String provinceString = example.substring(oneIndex+1, twoIndex);
        System.out.println(provinceString);    //输出:guangdong
        /**
         * 字符串截取3:获取姓名
         * 获取某字符最后一次出现的位置
         * lastIndexOf("_")
         */
        int endIndex = example.lastIndexOf("_");
        String temp = example.substring(endIndex+1, example.length());  //zhangsan.txt
        int endIndex1 = temp.lastIndexOf(".");
        String name = temp.substring(0, endIndex1);
        System.out.println(name);             //输出zhangsan

        /**
         * 字符串截取:指定位置截取至结尾
         */
        System.out.println(example.substring(12));   //guangdong_student_zhangsan.txt
        /**
         * 字符串替换:把姓名进行更换
         * replace("zhangsan", "lisi")
         */
        String newExample = example.replace("zhangsan", "lisi");
        System.out.println(newExample);   //输出:20191110202_guangdong_student_lisi.txt
        /**
         * 字符串大小写转换
         *  toLowerCase() 转小写
         *  toUpperCase() 转大写
         */
        System.out.println(example.toLowerCase()); //20191110202_guangdong_student_zhangsan.txt
        System.out.println(example.toUpperCase()); //20191110202_GUANGDONG_STUDENT_ZHANGSAN.TXT

        /**
         * 字符串按照指定字符切割
         * split("_")  参数是正则表达,特殊字符(* ^ : | . \)这些需要用\\转义
         * .split("_", n) 第二个参数,n>0时候执行n-1次,n<0时候尽可能执行多次,n=0时候也是尽可能多次执行,但会抛弃结尾空串
         */
        String s = "小明@小红*小军|小李";
        String nameArray[] = s.split("@|\\*|\\|");
        for(String str:nameArray){
            System.out.print(str+"   ");
        }                                     //小明   小红   小军   小李
        String result[] = example.split("_");
        for(String str:result){
            System.out.print(str+"   ");
        }                                     //20191110202   guangdong   student   zhangsan.txt

        String result1[] = example.split("_", 2);
        for(String str:result1){
            System.out.print(str);
        }                                     //20191110202guangdong_student_zhangsan.txt
        String result2[] = example.split("_", -1);
        for(String str:result2){
            System.out.print(str);
        }                                    //20191110202guangdongstudentzhangsan.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值