/ / Ako analyzovať float hodnoty zo reťazca pomocou REGEX v jave -

Ako analyzovať float hodnoty z reťazca pomocou REGEXu v java - java, android, regex, parsovanie

Chcem analyzovať pohyblivé hodnoty z

CallCost:Rs.13.04 Duration:00:00:02 Bal:Rs.14.67 2016 mein Promotion

Z vyššie uvedeného reťazca potrebujem 13.04 a 14.67. Použil som nasledujúci regex

  Pattern p = Pattern.compile("\d*\.\d+");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(">> " + m.group());
}

Ale pomocou tohto dostávam ".13", ".04", ".14", ".67" Vopred ďakujem

odpovede:

7 pre odpoveď č. 1

použitie \d+ namiesto \d*

 Pattern p = Pattern.compile("\d+\.\d+");

Prečo?

Pretože ak používate \d*\.\d+, malo by sa to zhodovať s bodkou vedľa Rs, pretože ste urobili celé číslo na opakovanie nuly alebo viackrát., Takže sa nestará o celé číslo.

DEMO