I have a String variable (basically an English sentence with an unspecified number of numbers) and I’d like to extract all the numbers into an array of integers. I was wondering whether there was a quick solution with regular expressions?
I used Sean’s solution and changed it slightly:
LinkedList<String> numbers = new LinkedList<String>();
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(line);
while (m.find()) {
numbers.add(m.group());
}
… prints
-2and12.-? matches a leading negative sign — optionally. \d matches a digit, and we need to write
\as\\in a Java String though. So, \d+ matches 1 or more digits.