失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Guava入门~Splitter

Guava入门~Splitter

时间:2020-08-04 01:16:10

相关推荐

Guava入门~Splitter

String.split()问题:中间保留,最后丢弃

String commaSeparatedString = "Foo,,Bar,,Baz,,,";String[] words = commaSeparatedString.split(",");//[Foo, , Bar, , Baz]System.out.println(Arrays.toString(words));

演示

import java.util.Map;import org.hamcrest.CoreMatchers;import org.junit.Assert;import mon.base.CharMatcher;import mon.base.Splitter;import mon.collect.Maps;/*** TODO 在此写上类的相关说明.<br>* @author gqltt<br>* @version 1.0.0 11月11日<br>* @see * @since JDK 1.5.0*/public class SplitterDemo {/*** @param args*/public static void main(String[] args) {splitOnCharacter();splitOnString();splitPattern();splitTrimEmpty();splitTrimDigit();splitKeepMissing();splitOmitMissing();}/*** 按字符切割.*/static void splitOnCharacter() {char delimiter = '|';String text = "foo|bar|baz";String[] expected = new String[]{"foo","bar","baz"};Iterable<String> values = Splitter.on(delimiter).split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 按字符串切割.*/static void splitOnString() {String delimiter = "&";String text = "foo&bar&baz";String[] expected = new String[]{"foo","bar","baz"};Iterable<String> values = Splitter.on(delimiter).split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 按正则表达式切割.*/static void splitPattern() {String pattern = "\\d+";String text = "foo123bar45678baz";String[] expected = new String[]{"foo","bar","baz"};Iterable<String> values = Splitter.onPattern(pattern).split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 裁剪空串.*/static void splitTrimEmpty() {String delimiter = "&";String text = "foo & bar& baz ";String[] expected = new String[]{"foo","bar","baz"};Iterable<String> values = Splitter.on(delimiter).trimResults().split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 裁剪数字.*/static void splitTrimDigit(){String delimiter = "&";String text = "1foo&bar2&2baz3";String[] expected = new String[]{"foo","bar","baz"};Iterable<String> values = Splitter.on(delimiter).trimResults(CharMatcher.javaDigit()).split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 保留空串.*/static void splitKeepMissing(){char delimiter = '|';String text = "foo|bar|||baz";String[] expected = new String[]{"foo","bar","","","baz"};Iterable<String> values = Splitter.on(delimiter).split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 省略空串.*/static void splitOmitMissing() {char delimiter = '|';String text = "foo|bar|||baz";String[] expected = new String[]{"foo","bar","baz"};Iterable<String> values = Splitter.on(delimiter).omitEmptyStrings().split(text);int index = 0;for (String value : values) {Assert.assertThat(value, CoreMatchers.is(expected[index++]));}}/*** 切割成map.*/static void splitMap() {String startSring = "Washington D.C=Redskins#New York City=Giants#Philadelphia=Eagles#Dallas=Cowboys";Map<String,String> testMap = Maps.newLinkedHashMap();testMap.put("Washington D.C","Redskins");testMap.put("New York City","Giants");testMap.put("Philadelphia","Eagles");testMap.put("Dallas","Cowboys");Splitter.MapSplitter mapSplitter = Splitter.on("#").withKeyValueSeparator("=");Map<String,String> splitMap = mapSplitter.split(startSring);Assert.assertThat(testMap, CoreMatchers.is(splitMap));}}

如果觉得《Guava入门~Splitter》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
Guava  之 Splitter

Guava 之 Splitter

2019-01-23

Guava---Splitter

Guava---Splitter

2019-01-27

Google Guava Splitter

Google Guava Splitter

2024-06-26

Guava学习笔记-Splitter

Guava学习笔记-Splitter

2023-02-17