String常用方法

String常用方法

  目录

=====序言=====
   1. equals
   2. equalsIgnoreCase
   3. length
   4. indexOf
   5. lastIndexOf
       6. substring
       7. toUpperCase
       8. toLowerCase
       9. concat
       10. replace
             11. split
             12. toCharArray
             13. compareTo
             14. format


序言

String类提供了许多方法供我们使用,这里只简单介绍几个常用的方法,下图是String的类图(未截取完)有兴趣的可以自行去查找



1. equals

String的equals方法重写了Object类的equals方法,使用效果如下:

		// equals 比较内容是否相同,区分大小写
		String str1 = "hello";
        String str2 = "Hello";
        System.out.println(str1.equals(str2));
        //运行结果:false

2. equalsIgnoreCase

跟equals方法的使用效果差不多,不过对大小写没有要求,也就是说Hello和hello在该方法下是true的

		// equalsIgnoreCase 忽略大小写的判断内容是否相等
        String userName = "john";
        if ("John".equalsIgnoreCase(userName)) {
            System.out.println("Success");
        } else {
            System.out.println("Failure");
        }
        //运行结果:Failure

3. length()

length()获取字符串长度

		// length 获取字符的个数,字符串的长度
		String suerName = "zhangsan";
        System.out.println(userName.length());
        //运行结果:8

4. indexOf

获取字符在字符串对象中第一次出现的索引,索引从0开始,如果找不到,返回-1

        // indexOf 获取字符在字符串对象中第一次出现的索引,索引从0开始,如果找不到,返回-1
        String s1 = "asf!@##$%sdfjklh";
        System.out.print(s1.indexOf("$"));
        System.out.println(s1.indexOf("jkl"));
        运行结果:7 12

5. lastIndexOf

获取字符在字符串中最后一次出现的索引,索引从0开始,如果找不到,返回-1

        // lastIndexOf 获取字符在字符串中最后一次出现的索引,
        //索引从0开始,如果找不到,返回-1
        String s2 = "sdfsdlfkjsds";
        System.out.println(s1.lastIndexOf("s"));

6. substring

截取指定范围的字符串,注意所截取的都是范围都是前闭后开

        // substring 截取指定范围的字符串
        String name = "hello,张三";
        System.out.print(name.substring(6));//取该下标到之后所有的字符串(前闭后开)
        System.out.print(" " + name.substring(1, 4));//就是截取到下标为4的字符,从下标1开始(前闭后开)
        System.out.println(" " + name.substring(1, name.length()));
        //运行结果:张三 ell ello,张三

7. toUpperCase

把字符串的字符都转成大写

        // toUpperCase转换成大写
        String s = "heLLo";
        System.out.println(s.toUpperCase());
        //运行结果:HELLO

8. toLowerCase

把字符串的字符都转换成小写

        // toLowerCase转换成小写
        String str8 = "HelLo";
        System.out.println(str8.toLowerCase());
        //运行结果:hello

9. concat

拼接字符串

        // concat拼接字符串
        String str9 = "宝玉";
        str9 = str9.concat("林黛玉").concat("薛宝钗").concat("together");
        System.out.println(str9);
        //运行结果:宝玉林黛玉薛宝钗together

10. replace

替换字符串中的字符

        // replace 替换字符串中的字符
        String str10 = "宝玉 and 薛宝钗 薛宝钗 薛宝钗";
        //在str10中,将所有的宝玉替换成薛宝钗
        //注意:str10.replace() 方法执行后,返回的结果才是替换过的
        //对str10没有影响 需要去引用 不赋值不影响
        str10 = str10.replace("宝玉", "薛宝钗");//把字串所有的宝玉都替换成薛宝钗
        System.out.println(str10);
        //运行结果:薛宝钗 and 薛宝钗 薛宝钗 薛宝钗

11. split

具体效果如下代码:

		// split 分割字符串,对于某些分割字符,我们需要 转义比如 | \\等
        //1.以 , 为标准对 poem 进行分割,返回一个数组
        //2.在对字符串进行分割时,如果有特殊字符,需要加入 转义符 \
        String poem = "锄禾日当午,汗滴流下土,谁知盘中餐,粒粒皆辛苦";
        String[] split = poem.split(",");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }
        /*运行结果: 
        		   锄禾日当午
				   汗滴流下土
			       谁知盘中餐
				   粒粒皆辛苦
		*/
        poem = "E:\\aaa\\bbb";
        split = poem.split("\\\\");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }
        //注意:如果这里是两个\\ 则会报错(Illegal/unsupported escape sequence非法/不受支持的转义序列)
        /*
        运行结果:
        E:
		aaa
		bbb
        */

12.toCharArray

转换成字符数组以及字符数组转换成String

        // toCharArray 转换成字符数组
        String str12 = "happy";
        char[] chs = str12.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            System.out.println(chs[i]);
        }
        //也可以把字符数组转成字符串 通过构造器
        String str = new String(chs);
        System.out.println(str);
        //运行结果:
        /*h
		  a
		  p
		  p
		  y
		  happy
		*/

13. compareTo

使用效果如下代码:

        // compareTo 比较两个字符串的大小,如果前者大
        //则返回正数,后者大,则返回负数,如果相等,返回0
        //(1)如果长度相同,并且每个字符也相同,就返回 0
        //(2)如果长度相同或者不相同,但是在进行比较时,可以区分大小就返回 c1 - c2
        //(3)如果前面的部分都相同,就返回 str1.len - str2.len
        //区分大小写,b 和 B的大小不一样,根据ASCII表
        String a = "jack";
        String b = "jbck";
        System.out.println(a.compareTo(b));
        //运行结果:-1

14. format

使用效果如下代码:

        // format 格式字符串
        /*
        * 占位符有:
        * %s 字符串 %c 字符 %d 整型 %.2f浮点型
        */
        String name = "john";
        int age = 10;
        double score = 98.3 / 3;
        char gender = '男';
        //将所有的信息都拼接在一个字符串
        String info =
                "我的名字是" + name + "年龄是" + age + ",成绩是" + score + "性别是" + gender + "。希望大家喜欢我!";

        System.out.println(info);

        //1. %s, %d, %.2f %c 称为占位符
        //2.这些占位符由后面的变量来替换
        String formatStr = "我的名字是%s年龄是%d,成绩是%.2f性别是%c。希望大家喜欢我!";

        info = String.format(formatStr, name, age, score, gender);//这里也可以直接是字符串,可以不用引用
        System.out.println(info);
        //运行结果:我的名字是john年龄是10,成绩是32.766666666666666性别是男。希望大家喜欢我!
	    //我的名字是john年龄是10,成绩是32.77性别是男。希望大家喜欢我!

欢迎留言讨论~ ~ ~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值