String.split的特殊情况

        String[] split = ",a,,b,".split(",");for (String s : split) {System.out.println(s);}System.out.println(split.length);

输出结果为:

ab
4

String.split 自动忽略了末尾的空白内容。

不管b后面多少个逗号,返回的数组长度都是4。

改用Guava的Spliter来进行分割

public class TestSplit {public static void main(String[] args) {String data = "hello=1&world=2&k=11";CaseInsensitiveMap map = new CaseInsensitiveMap(Splitter.on("&").trimResults().withKeyValueSeparator(Splitter.on("=").trimResults().limit(2)).split(data));Set<Map.Entry<String, String>> set = map.entrySet();set.forEach(o -> System.out.println(((Map.Entry) o).getKey() + " , " + ((Map.Entry) o).getValue()));System.out.println("-------------------------------");Iterable<String> split = Splitter.on("=").omitEmptyStrings().trimResults().split("1=   2,==2=3,=,3=4");for (String s : split) {System.out.println(s);}}
}

输出结果为:

k , 11
hello , 1
world , 2
-------------------------------
1
2,
2
3,
,3
4

可以很好的分割字符串,而且语义优雅。

Google Guava Splitter相关推荐

  1. 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自 | 张丰哲 链接 | www.jianshu.com ...

  2. 为什么推荐 Java 程序员使用 Google Guava 编程

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来自 | 张丰哲 链接 | www.jianshu.com/p/97778b21bd00 前言 ...

  3. [Google Guava] 6-字符串处理:分割,连接,填充

    原文链接 译文链接 译者:沈义扬,校对:丁一 连接器[Joiner] 用分隔符把字符串序列连接起来也可能会遇上不必要的麻烦.如果字符串序列中含有null,那连接操作会更难.Fluent风格的Joine ...

  4. [Google Guava] 9-I/O

    原文链接 译文链接 译者:沈义扬 字节流和字符流 Guava使用术语"流" 来表示可关闭的,并且在底层资源中有位置状态的I/O数据流.术语"字节流"指的是Inp ...

  5. Google Guava v07范例

    我们在TouK举办了一个名为"每周技术研讨会"的活动,即每个星期五的16:00,每个愿意参加的人都有一个演讲. 我们展示了我们在家学习和学习的东西,但是我们也设有一个公告板,上面有 ...

  6. Google Guava,牛逼的脚手架

    01.前世今生 你好呀,我是 Guava. 1995 年的时候,我的"公明"哥哥--Java 出生了.经过 20 年的发展,他已经成为世界上最流行的编程语言了,请允许我有失公允的把 ...

  7. 借Google Guava学习发现和开发通用功能模块

    如何发现通用的功能模块? 很多人觉得做业务开发没有挑战,实际上,做业务开发也会涉及很多非业务功能的开发,比如我们前面讲到的 ID 生成器.性能计数器.EventBus.DI 容器,以及后面会讲到的限流 ...

  8. 一篇让你熟练掌握Google Guava包(全网最全)

    Google Guava guava开源库的地址:https://github.com/google/guava 概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率 ...

  9. com.google.guava包里面的相关简单方法

    pom坐标 <dependency><groupId>com.google.guava</groupId><artifactId>guava</a ...

最新文章

  1. 系统清理工具(Wise Care 365)绿色版
  2. 使用机器学习方法预测IBM员工流失数据模型
  3. 吴志强院士:CIM与城市未来
  4. linux中vi写java,Linux编辑器vi使用方法详细介绍
  5. 机器人学习--Hans Moravec在斯坦福博士论文1980年-Obstacle Avoidance and Navigation in the Real World by a Seeing Ro
  6. 跟踪调试JDK源码时遇到的问题及解决方法
  7. 37款机型升级鸿蒙系统,华为终于想通,为鸿蒙系统敞开大门,37款机型将同步升级...
  8. javafx html5_JavaFX技巧5:可观察
  9. php rewinddir(),PHP rewinddir() 函数 ——jQuery中文网
  10. 15、设计模式-行为型模式-职责链模式
  11. 计算机的基本组成-4-一个程序在计算机上每一步是走了哪些地方实现的
  12. 基于Raspbian(树莓派)搭建web安全练习环境(一)
  13. SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名转...
  14. 在 Centos 安装 MySQL
  15. Java实现桐桐的数学难题
  16. POWER BI filter函数的筛选条件可以使用度量值作为筛选条件
  17. 物联网基础知识:IMSI号介绍与解析
  18. 论文解读| NeurIPS 2022:面向科学任务的图神经网络设计
  19. qlv如何转换为mp4格式?怎样将qlv转换成mp4格式?
  20. 手动查看和删除IPC未释放的资源

热门文章

  1. shotcut视频编辑器
  2. 美团外卖API接入(一)
  3. 2023年软件测试的前景?测试工程师技能提升,进阶自动化测试...
  4. HDU 6333 Problem B. Harvest of Apples(莫队离线)
  5. ipadpro分屏怎么操作_iPad到手后必备的高效设置技巧(iPad Pro、iPad Air、iPad mini学习生产工具...
  6. 英文版-每一天-day by day and with each passing momment
  7. ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘的解决办法
  8. 基于zxing生成二维码
  9. Scrapy IT之家评论爬虫
  10. 脉冲星 1 月脉动 | Pulsar 2.5.0 和 Pulsarctl 0.3.0 发布,多项活动期待您的参与