How to Get All Digits from String in Java

This Java example shows how checks if a String contains Unicode digits, if yes then concatenate all the digits in and return it as a String.

How to Get All Digits from String in Java

package com.javaguides.strings.utils; public class StringUtility { public static void main(String[] args) { System.out.println(getDigits("source Code Examples 12345")); System.out.println(getDigits("java 123Guides45")); } /**  * <p>  * Checks if a String {@code str} contains Unicode digits, if yes then  * concatenate all the digits in {@code str} and return it as a String.  * </p>  *  * <p>  * An empty ("") String will be returned if no digits found in {@code str}.  * </p>  *   * @param str  * the String to extract digits from, may be null  * @return String with only digits, or an empty ("") String if no digits  * found, or {@code null} String if {@code str} is null  * @since 3.6  */ public static String getDigits(final String str) { if (isEmpty(str)) { return str; } final int sz = str.length(); final StringBuilder strDigits = new StringBuilder(sz); for (int i = 0; i < sz; i++) { final char tempChar = str.charAt(i); if (Character.isDigit(tempChar)) { strDigits.append(tempChar); } } return strDigits.toString(); } public static boolean isEmpty(final CharSequence cs) { return cs == null || cs.length() == 0; } }
Output:
12345 12345


Comments