Extract all integers from the given string in Java
Given a string str consisting of digits, alphabets and special characters. The task is to extract all the integers from the given string.
Examples:
Input: str = “geeksforgeeks A-118, Sector-136, Uttar Pradesh-201305”
Output: 118 136 201305Input: str = ” 1abc35de 99fgh, dd11″
Output: 1 35 99 11
Approach:
- Replace all the non-digit characters with spaces (” “).
- Now replace every consecutive group of spaces with a single space.
- Eliminate the leading and the trailing spaces (if any) and the final string will only contain the required integers.
Below is the implementation of the above approach:
// Java implementation of the approach public class GFG { // Function to return the modified string static String extractInt(String str) { // Replacing every non-digit number // with a space(" ") str = str.replaceAll( "[^\\d]" , " " ); // Remove extra spaces from the beginning // and the ending of the string str = str.trim(); // Replace all the consecutive white // spaces with a single space str = str.replaceAll( " +" , " " ); if (str.equals( "" )) return "-1" ; return str; } // Driver code public static void main(String[] args) { String str = "avbkjd1122klj4 543 af" ; System.out.print(extractInt(str)); } } |
Output:
1122 4 543