Java: Numbers only String by removing non numeric characters - Digizol6

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

Thursday, July 31, 2008

Java: Numbers only String by removing non numeric characters

With Java, deleting non numeric characters (letters, symbols etc) from a string to produce a numbers-only String is a common requirement in web applications, as application users are used to insert numeric values with non-numeric characters.

For example a phone number will be entered with (-) characters like;
650-212-5710.
A price value may be entered with (,) characters like;
12,500.00

In Java, java.lang.Character class has a method; isDigit() which can be used to identify whether a character is a digit or not. Following method can be used for extracting a numbers-only string.

public static String getOnlyNumerics(String str) {

if (str == null) {
return null;
}

StringBuffer strBuff = new StringBuffer();
char c;

for (int i = 0; i < str.length() ; i++) {
c = str.charAt(i);

if (Character.isDigit(c)) {
strBuff.append(c);
}
}
return strBuff.toString();
}

Calling above method with any String will return a numbers-only string.

6 comments:

  1. Thanks for pointing me to the isDigit() method, I hadn't used it before.

    ReplyDelete
  2. Ado marune .. wade wenawa thnx!!!

    ReplyDelete
  3. Thanks for code snippet

    ReplyDelete
  4. Gracias por el método!
    Pura vida!

    ReplyDelete
  5. One could also use regular expressions to form...

    public static String getOnlyNumerics(String str) {
    return str.replaceAll( "\\D", "" );
    }

    /Michael H

    ReplyDelete
  6. String result = yourString.replaceAll( "[^\\d]", "" );

    ReplyDelete

Post Top Ad

Responsive Ads Here