• 002-guava String 操作


    一、概述

      提供了字符串基本操作

    二、使用

    2.1、字符串拼接

    字符串的拼接采用的是Guava中的Joiner类中的方法

        @Test
        public void testJdkJoin() {
            List<String> strList = Lists.newArrayList("1", "2", null, "3", "4");
            //字符串拼接,无法跳过空字符串
            String str = String.join(",", strList);
            Assert.assertEquals("1,2,3,4", str);
        }
    
        @Test
        public void testGuavaJoin() {
            List<String> strList = Lists.newArrayList("1", "2", null, "3", "4");
            //字符串拼接,跳过空字符串
            String str = Joiner.on(",").skipNulls().join(strList);
            Assert.assertEquals("1,2,3,4", str);
        }

    2.2、字符串分割

        @Test
        public void testJdkSplit(){
            String str = "1,2,   3  ,,4,";
            //trimResults():去除空格,omitEmptyStrings():删除空数组
            String[] strList = str.split(",");
            //  List<String> strList = Splitter.on(",").trimResults().omitEmptyStrings().splitToList(str);
            for (int i = 0; i < strList.length; i++) {
                String s = strList[i];
                System.out.println(s);
            }
            Assert.assertEquals(4,strList.length);
        }
    
        @Test
        public void testGuavaSplit(){
            String str = "1,2,   3  ,,4,";
            //trimResults():去除空格,omitEmptyStrings():删除空数组
            List<String> strList = Splitter.on(",").trimResults().omitEmptyStrings().splitToList(str);
            strList.forEach(s -> System.out.println(s));
            Assert.assertEquals(4,strList.size());
        }

    2.3、字符串查找【使用jdk中方法】

        @Test
        public void testSearch(){
            String str = "abcdef";
            //包含字符串cd
            Assert.assertEquals(true,str.contains("cd"));
            //查找以abc开头的字符串
            Assert.assertEquals(true,str.startsWith("abc"));
            //查找以def结尾的字符串
            Assert.assertEquals(true,str.endsWith("def"));
        }

    2.4、字符串变换

        @Test
        public void testConversion(){
            String str = "abcdef";
            String newStr = str.replace("bcde","hello");
            System.out.println(newStr);
            Assert.assertEquals("ahellof",newStr);
            String str2 = "ABC    abc    123";
            //打印数字
            System.out.println(CharMatcher.digit().retainFrom(str2));
            //打印小写字母
            System.out.println(CharMatcher.javaLowerCase().retainFrom(str2));
            //打印大写字母
            System.out.println(CharMatcher.javaUpperCase().retainFrom(str2));
            //打印所有字母
            System.out.println(CharMatcher.javaLetter().retainFrom(str2));
            //将多余的空格替换成一个空格
            System.out.println(CharMatcher.whitespace().trimAndCollapseFrom(str2,' '));
            //统计出现的字母
            System.out.println(String.valueOf(CharMatcher.javaLetter().countIn(str2)));
        }

    输出

    ahellof
    123
    abc
    ABC
    ABCabc
    ABC abc 123
    6

    发的  

  • 相关阅读:
    DataTable、GridView、DataList导出至Word或Excel
    实现字符串转换为图片
    Sina App Engine与Google App Engine区别对比
    C/C++反序输出字符串总结
    NAND flash和NOR flash详解
    [转载]看完《python简明教程》笔记及第一个python程序
    Python写爬虫——抓取网页并解析HTML
    ACM HDU 1004 Let the Balloon Rise
    有向图的强连通分量
    ACM HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/bjlhx/p/11582739.html
Copyright © 2020-2023  润新知