I want to parse float values from
CallCost:Rs.13.04 Duration:00:00:02 Bal:Rs.14.67 2016 mein Promotion
From above string i need 13.04 and 14.67. I used following regex
Pattern p = Pattern.compile("\\d*\\.\\d+");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(">> " + m.group());
}
But using this i am getting ".13", ".04", ".14", ".67" Thanks in advance
Use
\\d+
instead of\\d*
Why?
Because if you use
\\d*\\.\\d+
, this should match from the dot exists next toRs
, since you made the integer part to repeat zero or more times., So it don't care about the integer part.DEMO