package m11.d23;

public class StringCommonMethod {
    public static void main(String[] args) {
        String str="0123456789";
        String str2="Hello World";
        String str3="  a b_c  ";


        //1.int length()
        //返回字符串的长度
        System.out.println(str.length());//10

        //2.char charAt()
        //获取指定位置字符串的字符
        System.out.println(str.charAt(0));//0

        //3.boolean isEmpty()
        //判断字符串是否为空
        System.out.println(str.isEmpty());//false

        //4.String toLowerCase()
        //将字符串中的字母转为小写作为返回值返回
        System.out.println(str2.toLowerCase());//hello world

        //5.String toUpperCase()
        //将字符串中的字母转为大写作为返回值返回
        System.out.println(str2.toUpperCase());//HELLO WORLD

        //6.String trim
        //将字符串两边的空格删除然后返回
        System.out.println("__"+str3.trim()+"__");//__a b_c__

        //7.boolean equals(String otherStr)
        //将当前字符串与另外一个字符串对象的内容进行判断是否相等
        System.out.println("Hello".equals("hello"));//false

        //8.boolean equalsIgnoreCase(String otherStr)
        //忽略大小写判断内容是否相等
        System.out.println("Hello".equalsIgnoreCase("hello"));//true

        //9.String concat(String otherStr)
        //将当前字符串与指定字符串相连接返回,需注意的是,并不完全等于"+",因为是返回的是new String(String str)而来的值
        System.out.println("Hello,".concat("World!"));//Hello,World!

        //10.String substring(int beginIndex)
        //String substring(int beginIndex,int endIndex) [需注意的是,左闭右开]
        //返回指定长度的字符串
        System.out.println("0123456".substring(1));//123456
        System.out.println("0123456".substring(1,3));//12

        //11.boolean endsWith(String str)
        //判断是否为指定内容结尾
        System.out.println("hello".endsWith("llo"));//true

        //12.boolean startsWith(String str)
        //boolean startsWith(String str,int startIndex)
        //判断是否为指定内容开头
        System.out.println("hello".startsWith("he"));//true
        System.out.println("hello".startsWith("ll",2));//true

        //13.boolean contains(String str)
        //判断指定字符串是否在该字符串内
        System.out.println("hello,world!".contains("wo"));//true

        //14.int indexOf(String str)
        //int indexOf(String str,int fromIndex)
        //返回要查找字符串第一次在该字符串出现的位置索引
        System.out.println("hello,world!".indexOf("l"));//2
        System.out.println("hello,world!".indexOf("l",6));//9

        //15.int lastIndexOf(String str)
        //int lastIndexOf(String str,int fromIndex)
        //[从后往前]返回要查找字符串第一次在该字符串出现的位置索引
        System.out.println("hello,world!".lastIndexOf("l"));//9
        System.out.println("hello,world!".lastIndexOf("l",8));//3

        /*
            这里特别需要强调的是,indexOf() ,lastIndexOf()方法一个有8种
            其中有4种方法为
            int indexOf(int ch)
            int indexOf(int ch,int formIndex)
            int lastIndexOf(int ch)
            int lastIndexOf(int ch,int formIndex)
            其中的int ch参数代表的是char 类型的字符以数组的形式表示
            "abc".indexOf(98)返回值为1
         */

        //16.String replace(char oldChar,char newChar)
        //String replace(String oldStr,String newStr)
        //String replaceAll(String regexStr,String newStr)
        //String replaceFirst(String regexStr,String newStr)
        //替换指定字符或字符串,regex代表正则
        System.out.println("娃哈哈好喝".replace('哈','嘻'));//娃嘻嘻好喝
        System.out.println("娃哈哈好喝".replace("哈","嘚嘚"));//娃嘚嘚嘚嘚好喝
        System.out.println("a1b2c3".replaceAll("\\d","_"));//a_b_c_
        System.out.println("a1b2c3".replaceFirst("\\d","_"));//a_b2c3

        //17.boolean matches(String regexStr)
        //判断当前字符串是否匹配该正则表达式
        System.out.println("a1b2c3".matches("\\d"));//false
        System.out.println("a1b2c3".matches("\\d+"));//false
        System.out.println("a1b2c3".matches("([a-z]\\d){3}"));//true

        //18.String[] split(String regexStr)
        //String[] split(String regexStr,int limitCount)
        //将字符串按照指定的正则要求切割为字符串数组
        String[] strArr="a.b.c".split("\\.");
        String[] strArr2="a.b.c".split("\\.",2);
        System.out.println(strArr[1]);//b
        System.out.println(strArr2[1]);//b.c
    }
}

34428c2e24af23a417863989ee365368

f20dcd2099b5e5c13c7e12b84f4e3f54