Joiner Splitter 对于字符串的操作

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 18:52   11   0

该类是Guava 工具类依赖

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>18.0</version>
        </dependency>

Joiner

Joiner 中的方法:

on 使用指定的连接符进行拼接;

join 要处理的数据 可以接收 集合或是数组;

skipNulls 跳过连接中的null值;

useForNull 时用指定值代替有null的值;

String[] str = {"我","好","帅"};
String join = Joiner.on("-").join(str);
System.out.println(join);

输出:我-好-帅

String[] str = {"我",null,null,"好","帅"};
String join = Joiner.on("-").skipNulls().join(str);
System.out.println(join);

输出:我-好-帅

String[] str = {"点赞","的","都是",null};
String join = Joiner.on("-").useForNull("帅哥靓女").join(str);
System.out.println(join);

输出:点赞-的-都是-帅哥靓女

Splitter

Splitter 中的方法:

on 使用特定字符划分;

trimResults 将结果中的空格删除;

omitEmptyStrings 移去结果中的空字符串;

String str = "点赞, 的 ,都是";
Splitter.on(",").trimResults().split(str).forEach(li -> System.out.println(li));

输出:点赞 的 都是 (去除所有的空格)

String str = ",  点赞, ,,  ,    的 ,都 是  ";
Splitter.on(",").omitEmptyStrings().split(str).forEach(li -> System.out.println(li));

输出:点赞 的 都 是 (去除所有的空字符串但不会去除空格)

PS:使用时 trimResults 配合 omitEmptyStrings 一起使用可以去除空格以及空字符串

String str = ", 点赞, ,, , 的 ,都 是 ";

Splitter.on(",").omitEmptyStrings().trimResults().split(str).forEach(li -> System.out.println(li));

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP