package com.levelup.java.string; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.junit.Test; import com.google.common.base.Splitter; /** * This java example will demonstrate how to split a string by a colon. * * @author Justin Musgrove * @see <a href= * 'http://www.leveluplunch.com/java/examples/split-string-by-colon/' * > Split string by colon</a> */ public class SplitStringByColon { private static final Logger logger = Logger .getLogger(SplitStringByColon.class); @Test public void split_string_colon_java() { String[] colonArray = "This:is:a:sentence:by:colon".split(":"); logger.info(Arrays.toString(colonArray)); assertTrue(colonArray.length == 6); } @Test public void split_string_colon_java8() { List<String> splitByColon = Stream.of("This:is:a:sentence:by:colon") .map(w -> w.split(":")).flatMap(Arrays::stream) .collect(Collectors.toList()); logger.info(splitByColon); assertTrue(splitByColon.size() == 6); } @Test public void split_string_colon_guava() { List<String> elementsInString = Splitter.on(":").splitToList( "This:is:a:sentence:by:colon"); logger.info(elementsInString); assertEquals(6, elementsInString.size()); } @Test public void split_string_colon_using_apache_commons() { String[] elementsInString = StringUtils.split( "This:is:a:sentence:by:colon", ":"); logger.info(Arrays.toString(elementsInString)); assertTrue(elementsInString.length == 6); } }