I have a question regarding the matcher. Currently I am trying to read a string and store all the digits into an array. My question is, how do you try to match both integers and
This will handle both integer and decimals:-
private Pattern p = Pattern.compile("\\d+(\\.\\d+)?");
@Test
public void testInteger() {
Matcher m =p.matcher("10");
assertTrue(m.find());
assertEquals("10", m.group());
}
@Test
public void testDecimal() {
Matcher m =p.matcher("10.99");
assertTrue(m.find());
assertEquals("10.99", m.group());
}
The phrase \d+
will match a string of numbers. So what about adding a dot between two of them? (\d+)|(\d+|\.\d+)