Guava学习笔记-Splitter

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}

4、延伸

参考链接

Splitter

猜你喜欢

转载自blog.csdn.net/nalw2012/article/details/105335061