【Java】String类的全部用法

目    录(本篇字数:1621)

介绍

代码演示

一、拆分字符串:str.split("")

二、提取字符串:str.substring(start,end)

三、替换字符串:str.replace(old,new)

四、提取字符:str.charAt(int index)

五、比较字符串:str.compareTo(target);

六、获取字符串起始下标:str.indexOf("")

七、以下是比较简单的方法

        1、str.trim();裁除首、尾空格符

        2、str.toLowerCase();全部转为小写

        3、str.toUpperCase();全部转为大写

        4、str.startsWith("");判断字符串开头是否为 “目标”

        5、str.endsWith("");判断字符串结尾是否为 “目标”

        6、str.contains("");是否包含 “目标”


  • 介绍

    我们最熟悉的一个类:String类,我来讲解一下它所拥有的功能以及使用时需要注意的一些细节。对String类的掌握是必须的,这个属于Java的基础了,我们只需要会使用这个类已经封装好的方法即可。当然,如果你想学习的更深入一点,可以看它的一些底层相关的代码,基本是用C语言写的。这是因为Java实现不了,只能借助C来和硬件打交道。其实,作为应用层的开发人员,大可以不必管底层是如何实现的。这些底层开发人员会封装好一些方法,供我们调用。C语言作为底层的实现,性能比Java快多了,但同时也相对比较难。

    String类,这个是字符串操作类,这个类封装了大量的对字符串的操作方法。比如:拆分、裁剪、替换、提取等等,那么我们就来看看它的具体用法和实例。

  • 代码演示

一、拆分字符串:str.split("")

    //传入一个拆分条件

    例子:根据一个字符串里共有的字符‘’|‘’、‘’,‘’、‘’/‘’等来拆分一条长长的字符串,分成若干短字符串。

    private void slpitString(){
        //根据 “|” 来拆分一个长字符串
        final String banners = "/WeiShop/goods_jpg/goods_banner_1.jpg|/WeiShop/goods_jpg/goods_banner_2.jpg|/WeiShop/goods_jpg/goods_banner_3.jpg|/WeiShop/goods_jpg/goods_banner_4.jpg";
        final String[] banner = banners.split("\\|");
        final int lenght = banner.length;
        for (int j = 0; j < lenght; j++) {
            Log.i("-------", "banner: " + banner[j]);
        }
    }

    我们根据长字符串里的 “|” 将其拆分成4个短字符串。看下Logcat输出,就很容易理解这个方法的作用了。

    这里需要特别注意:当我们需要以‘|’、‘:’、‘+’、‘.’、‘^’等特殊字符作为拆分条件的话,则需要加上 \\ 转义字符。我们上面例子就很明显的做出了转义行为,当我们拆分后得到的字符串与我们想的不一样,那么我们就可以考虑加上转义字符试试。

二、提取字符串:str.substring(start,end)

    // 1、起始下标,2、结束下标

    private void test() {
        String test1 = "china";
        String str1 = test1.substring(1, 2);
        String str2 = test1.substring(2, 4);
        Log.i("*---*---->", "" + str1);
        Log.i("*---*---->", "" + str2);
    }

    substring();方法是从现有的字符串中提取字符串,如上面这个实例,我们从“china”中分别提取了1,2与2,4之间的字符串。那么根据字符串下标从0开始,所以1,2是第二个字符h,2,4是第二三组合字符in。我一并把它们分别打印出来了,以验证一下我们想的是否正确。

三、替换字符串:str.replace(old,new)

    //1、新字符串,2、旧字符串

    private void test() {
        String test1 = "xu2WeI_HaHa";
        String str1 = test1.replace("H", "h");
        Log.i("*---*---->", "" + str1);
    }
    private void test() {
        String test1 = "xu2WeI_HaHa";
        String str1 = test1.replaceFirst("H", "h");
        Log.i("*---*---->", "" + str1);
    }

    所以根据上面的例子,注意区别开。第一个例子是字符串里只要包括 H 就全部替换掉,第二个例子是替换出现的第一个 H 的位置。看看打印结果,也就验证了我们的想法:

四、提取字符:str.charAt(int index)

    //传入下标位置

    private void test() {
        String test1 = "xu2WeI_HaHa";
        char str1 = test1.charAt(5);
        Log.i("*---*---->", "" + str1);
    }

    根据上面例子,我们数一数第五个字符是 I ,那么验证一下是否正确:

五、比较字符串:str.compareTo(target);

    //传入对比目标

    private void test() {
        String test1 = "xu2WeI";
        /**
         * 忽略字母大小写
         */
        int code = test1.compareToIgnoreCase("xu2WeI_Not");
        Log.i("*---*---->", "" + code);
    }
    private void test() {
        String test1 = "xu2WeI";
        int code = test1.compareTo("xu2WeI");
        Log.i("*---*---->", "" + code);
    }

    如果字符串一样,则返回为0,依此作为条件判断。

六、获取字符串起始下标:str.indexOf("")

    //传入字符串目标

    private void test() {
        String test1 = "xu2WeI";
        int index = test1.indexOf("We");
        Log.i("*---*---->", "" + index);
    }

    这个例子是返回 We 字符串中的起始下标位置,也就是 W 的下标位置

    private void test() {
        String test1 = "xu2WeI.com";
        int index = test1.indexOf(".", 3);
        Log.i("*---*---->", "" + index);
    }

    这个例子是返回    的起始下标位置,后面的参数 3,则是从字符串的第3下标位置,也就是 W 字符。它会从 W 开始往后面搜索,如果找到这返回  点  的下标,如果找不到,则返回 -1。

    private void test() {
        String test1 = "xu2WeI.com.cn";
        int index = test1.lastIndexOf(".");
        Log.i("*---*---->", "" + index);
    }

    这个方顾名思义,是返回最后一个  点  的下标,这次返回结果就不再是之前的  6 了,而是 .cn前面的那个点的下标值:

七、以下是比较简单的方法

        1、str.trim();裁除首、尾空格符

        2、str.toLowerCase();全部转为小写

        3、str.toUpperCase();全部转为大写

        4、str.startsWith("");判断字符串开头是否为 “目标”

        5、str.endsWith("");判断字符串结尾是否为 “目标”

        6、str.contains("");是否包含 “目标”

    其实,String类也就这几个重要且常用的方法,我们根据方法名就可以大致的明白它的作用了,也不是要去专门记它,多多使用就可记住了。

©原文链接:https://blog.csdn.net/smile_running/article/details/81327238

@作者博客:_Xu2WeI

@更多博文:查看作者的更多博文

posted @ 2018-08-01 11:54  爱写Bug的程序猿  阅读(797)  评论(0编辑  收藏  举报