Guava

文章目录

  • Guava
    • 1、背景
    • 2、说明
    • 3、示例
      • 3.1 简单使用
      • 3.2 包含空字符
      • 3.3 跳过空字符
      • 3.4 结果去除首尾空格
      • 3.5 固定长度分割
      • 3.6 指定分割符并限制生成集合数目
      • 3.7 使用正则表达式分割
      • 3.8 使用正则表达式分割成map
    • 4、延伸
    • 参考链接

1、背景

对长字符串进行分割,生成一个集合。

2、说明

功能与String.split类似,但更加强大。

3、示例

3.1 简单使用

private String string1 = "hello|world";
private String string2 = "hello|world|||bye";@Test
public void test1() {List<String> list = Splitter.on("|").splitToList("hello |  world");System.out.println(list.size());System.out.println(list);
}

输出:

2
[hello , world]

3.2 包含空字符

List<String> list = Splitter.on("|").splitToList(string2);
System.out.println(list.size());
System.out.println(list);

输出:

5
[hello, world, , ,bye]

3.3 跳过空字符

List<String> list = Splitter.on("|").omitEmptyStrings().splitToList(string2);
System.out.println(list.size());
System.out.println(list);

输出:

3
[hello, world, bye]

3.4 结果去除首尾空格

List<String> list = Splitter.on("|").omitEmptyStrings().trimResults().splitToList("hello |  world");
System.out.println(list.size());
System.out.println(list);

输出:

2
[hello, world]

3.5 固定长度分割

List<String> list = Splitter.fixedLength(4).splitToList("aaaabbbbccccddddee");
System.out.println(list.size());
System.out.println(list);

输出:

5
[aaaa, bbbb, cccc, dddd, ee]

3.6 指定分割符并限制生成集合数目

List<String> list = Splitter.on("#").limit(3).splitToList("aaaa#bbbb#cccc#dddd#ee");
System.out.println(list.size());
System.out.println(list);

输出:

3
[aaaa, bbbb, cccc#dddd#ee]

3.7 使用正则表达式分割

List<String> list = Splitter.onPattern("\\|").omitEmptyStrings().trimResults().splitToList("hello | world| ||bye");
System.out.println(list.size());
System.out.println(list);

输出:

3
[hello, world, bye]

3.8 使用正则表达式分割成map

Map<String, String> list = Splitter.on(Pattern.compile("\\|")).omitEmptyStrings().trimResults().withKeyValueSeparator("=").split("hello=HELLO | world=WORLD| ||");
System.out.println(list.size());
System.out.println(list);

输出:

2
{hello=HELLO, world=WORLD}

4、延伸

参考链接

Splitter

Guava学习笔记-Splitter相关推荐

  1. Guava学习笔记:简化异常处理的Throwables类

    Guava学习笔记:简化异常处理的Throwables类 参考文章: (1)Guava学习笔记:简化异常处理的Throwables类 (2)https://www.cnblogs.com/peida/ ...

  2. Guava学习笔记(转)

    Guava(瓜娃)学习笔记 Guava工程包含了若干被google的java项目广泛依赖的核心库,例如:集合 [collections] .缓存 [caching] .原生类型支持 [primitiv ...

  3. Guava学习笔记:缘起

    缘起 为什么要使用Guava呢?因为在几年前就是用过Guava的部分功能,当时有一个项目需要通过缓存来提升部分功能的性能,对本地应用缓存和分布式应用缓存进行了相关的调研,在调研本地应用缓存的时候,第一 ...

  4. Google Guava学习笔记——基础工具类Joiner的使用

    Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起.MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value. 2,Spli ...

  5. Guava学习笔记:EventBus(转)

    EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现.对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和 ...

  6. Guava学习笔记:Google Guava 类库简介

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...

  7. Guava学习笔记 6. 字符串处理[Strings]

    非常有用的字符串工具,包括分割.连接.填充等操作 本文简单介绍了一下Guava的一些字符串工具 本文参考自: http://ifeve.com/google-guava-strings/ 并添加了一些 ...

  8. Guava学习笔记:Preconditions优雅的检验参数

    在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去.对于可预知的一些数据上的错误,我们一定要做事前检测和判断,来避免程序流程出错,而不是完全通过错误处 ...

  9. Guava学习笔记:Ordering犀利的比较器

    2019独角兽企业重金招聘Python工程师标准>>> Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比 ...

  10. Guava学习笔记(1)--安全地使用null(Using and avoiding null)

    Guava是一个基于java1.6的类库集合, 包含了几个google的核心库, collections, caching, primitives support, concurrency libra ...

最新文章

  1. 商业大佬提醒:如果不采取措施,美国在人工智能领域将落后于中国
  2. iptables端口映射实例
  3. [YTU]_2922(Shape系列-8)
  4. PHP-sftp文件上传
  5. php双写绕过,高并发下缓存与数据库双写不一致解决方案
  6. python映射实体类_【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)...
  7. SQL Server 2005 DTS导入平面数据
  8. LeetCode 541. 反转字符串 II
  9. wxAdditions使用小结
  10. 2011年12月份第一周51Aspx源码发布详情
  11. 【转】VS2017的VSIX插件开发
  12. 励志c语言编码的开始,基础打开VS操作指南
  13. rasterization(栅格化)
  14. WOS搜索输出文件的格式整理
  15. vue porxy 解决跨域
  16. GA005-185-10
  17. SpringBoot+vue仿网易云音乐网站(三)- Springboot项目以及前端vue基础搭建
  18. VisualStudio找不到Python.h
  19. deepfakes怎么用_手把手教你使用 Deepfakes 换脸
  20. 【20】输入一个字符串,统计其中的字母、数字、其他字符的个数。

热门文章

  1. nls_lang环境变量linux设置,设置NLS_LANG环境变量
  2. H5互动小游戏开发案例
  3. Google网络硬盘(GDrive):千呼万唤不出来
  4. 这些地区的大学,取消英语四六级口语考试!
  5. WTL入门(二) WTL简介
  6. 星号下三角形python答案_Python练习题:星号三角形
  7. png图片的文件存储格式
  8. 网贷逾期和信用卡逾期是一样的吗?
  9. 青云志鸿蒙争霸位置,青云志手游万剑一抽取方法攻略
  10. 互联网是如何工作的?