Skip to content
Related Articles

Related Articles

Extract all integers from the given string in Java

Improve Article
Save Article
Like Article
  • Difficulty Level : Medium
  • Last Updated : 14 Oct, 2019

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 201305

Input: 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
My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!