Home >Java >javaTutorial >How Can Regular Expressions Extract Numbers from a String and Store Them as an Integer Array?
Extracting Numbers from Strings Using Regular Expressions
Problem:
Given a string containing both text and numbers, how can we extract these numbers and store them in an array of integers?
Solution with Regular Expressions:
Regular expressions (regex) can be used as a concise and efficient method to match and extract specific patterns from strings. Here's how we can use regex to solve this problem:
import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.LinkedList; String line = "There are more than -2 and less than 12 numbers here"; Pattern p = Pattern.compile("-?\d+"); Matcher m = p.matcher(line); LinkedList<String> numbers = new LinkedList<>(); while (m.find()) { numbers.add(m.group()); } // Convert the extracted strings to integers int[] intArray = new int[numbers.size()]; for (int i = 0; i < numbers.size(); i++) { intArray[i] = Integer.parseInt(numbers.get(i)); } System.out.println(intArray);
In this solution:
This approach provides a clean and reusable solution for extracting numbers from strings of arbitrary length and complexity.
The above is the detailed content of How Can Regular Expressions Extract Numbers from a String and Store Them as an Integer Array?. For more information, please follow other related articles on the PHP Chinese website!