Google Guava Splitter
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相关推荐
- 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自 | 张丰哲 链接 | www.jianshu.com ...
- 为什么推荐 Java 程序员使用 Google Guava 编程
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来自 | 张丰哲 链接 | www.jianshu.com/p/97778b21bd00 前言 ...
- [Google Guava] 6-字符串处理:分割,连接,填充
原文链接 译文链接 译者:沈义扬,校对:丁一 连接器[Joiner] 用分隔符把字符串序列连接起来也可能会遇上不必要的麻烦.如果字符串序列中含有null,那连接操作会更难.Fluent风格的Joine ...
- [Google Guava] 9-I/O
原文链接 译文链接 译者:沈义扬 字节流和字符流 Guava使用术语"流" 来表示可关闭的,并且在底层资源中有位置状态的I/O数据流.术语"字节流"指的是Inp ...
- Google Guava v07范例
我们在TouK举办了一个名为"每周技术研讨会"的活动,即每个星期五的16:00,每个愿意参加的人都有一个演讲. 我们展示了我们在家学习和学习的东西,但是我们也设有一个公告板,上面有 ...
- Google Guava,牛逼的脚手架
01.前世今生 你好呀,我是 Guava. 1995 年的时候,我的"公明"哥哥--Java 出生了.经过 20 年的发展,他已经成为世界上最流行的编程语言了,请允许我有失公允的把 ...
- 借Google Guava学习发现和开发通用功能模块
如何发现通用的功能模块? 很多人觉得做业务开发没有挑战,实际上,做业务开发也会涉及很多非业务功能的开发,比如我们前面讲到的 ID 生成器.性能计数器.EventBus.DI 容器,以及后面会讲到的限流 ...
- 一篇让你熟练掌握Google Guava包(全网最全)
Google Guava guava开源库的地址:https://github.com/google/guava 概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率 ...
- com.google.guava包里面的相关简单方法
pom坐标 <dependency><groupId>com.google.guava</groupId><artifactId>guava</a ...
最新文章
- 系统清理工具(Wise Care 365)绿色版
- 使用机器学习方法预测IBM员工流失数据模型
- 吴志强院士:CIM与城市未来
- linux中vi写java,Linux编辑器vi使用方法详细介绍
- 机器人学习--Hans Moravec在斯坦福博士论文1980年-Obstacle Avoidance and Navigation in the Real World by a Seeing Ro
- 跟踪调试JDK源码时遇到的问题及解决方法
- 37款机型升级鸿蒙系统,华为终于想通,为鸿蒙系统敞开大门,37款机型将同步升级...
- javafx html5_JavaFX技巧5:可观察
- php rewinddir(),PHP rewinddir() 函数 ——jQuery中文网
- 15、设计模式-行为型模式-职责链模式
- 计算机的基本组成-4-一个程序在计算机上每一步是走了哪些地方实现的
- 基于Raspbian(树莓派)搭建web安全练习环境(一)
- SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名转...
- 在 Centos 安装 MySQL
- Java实现桐桐的数学难题
- POWER BI filter函数的筛选条件可以使用度量值作为筛选条件
- 物联网基础知识:IMSI号介绍与解析
- 论文解读| NeurIPS 2022:面向科学任务的图神经网络设计
- qlv如何转换为mp4格式?怎样将qlv转换成mp4格式?
- 手动查看和删除IPC未释放的资源
热门文章
- shotcut视频编辑器
- 美团外卖API接入(一)
- 2023年软件测试的前景?测试工程师技能提升,进阶自动化测试...
- HDU 6333 Problem B. Harvest of Apples(莫队离线)
- ipadpro分屏怎么操作_iPad到手后必备的高效设置技巧(iPad Pro、iPad Air、iPad mini学习生产工具...
- 英文版-每一天-day by day and with each passing momment
- ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘的解决办法
- 基于zxing生成二维码
- Scrapy IT之家评论爬虫
- 脉冲星 1 月脉动 | Pulsar 2.5.0 和 Pulsarctl 0.3.0 发布,多项活动期待您的参与