Guava
文章目录
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}