How to extract numbers from a string using regular expressions?



You can match numbers in the given string using either of the following regular expressions −

“\d+” Or, "([0-9]+)"

Example 1

import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractingDigits {    public static void main(String[] args) {       Scanner sc = new Scanner(System.in);       System.out.println("Enter sample text: ");       String data = sc.nextLine();       //Regular expression to match digits in a string       String regex = "\d+";       //Creating a pattern object       Pattern pattern = Pattern.compile(regex);       //Creating a Matcher object       Matcher matcher = pattern.matcher(data);       System.out.println("Digits in the given string are: ");       while(matcher.find()) {          System.out.print(matcher.group()+" ");       }    } }

Output

Enter sample text: this is a sample 23 text 46 with 11223 numbers in it Digits in the given string are: 23 46 11223

Example 2

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Just {    public static void main(String[] args) {       String data = "abc12def334hjdsk7438dbds3y388";       //Regular expression to digits       String regex = "([0-9]+)";       //Creating a pattern object       Pattern pattern = Pattern.compile(regex);       //Creating a Matcher object       Matcher matcher = pattern.matcher(data);       System.out.println("Digits in the given string are: ");       while(matcher.find()) {          System.out.print(matcher.group()+" ");       }    } }

Output

Digits in the given string are: 12 334 7438 3 388
Updated on: 2019-11-21T08:03:39+05:30

16K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements