package com.levelup.java.string; import static org.junit.Assert.assertEquals; import org.junit.Test; import com.google.common.base.CharMatcher; /** * This java example will show how to count the number of digits in a string. * * @author Justin Musgrove * @see <a href= * 'http://www.leveluplunch.com/java/examples/count-occurrences-of-digits-in-string/'>Count occurrences of digit in string</a * > */ public class CountOccurrencesOfDigit { @Test public void digits_in_string_guava_java() { String phrase = "Creating xml using java gives me heart burn, " + "hopefully java 8, java 9, java 10 address this"; int numberOfDigits = 0; char[] checkForNumbers = phrase.toCharArray(); for (char val : checkForNumbers) { if (Character.isDigit(val)) { numberOfDigits++; } } assertEquals(4, numberOfDigits); } @Test public void digits_in_string_guava_java8() { String phrase = "Creating xml using java gives me heart burn, " + "hopefully java 8, java 9, java 10 address this"; assertEquals(4, phrase.chars().filter(Character::isDigit).count()); } @Test public void digits_in_string_guava() { String phrase = "Creating xml using java gives me heart burn, " + "hopefully java 8, java 9, java 10 address this"; String numberOfDigits = CharMatcher.DIGIT.retainFrom(phrase); assertEquals(4, numberOfDigits.length()); } }