java在字符串中查找价格值

时间:2013-04-05 13:41:49

标签: java android regex

我想在字符串中找到价格值(传入短信息)。我正在使用java正则表达式:

Pattern pattern = Pattern.compile("\\d+.\\d\\d");/

但是这个表达式也找到了日期。例如,12.12.2013会返回12.12。 如果有某种方法只能找到价格值?也许不使用正则表达式,因为字符串不长。

EDITED 消息示例:

Oplata tovariv:S1LV0GRU RYKAVUCHKA 510,UA 02.04.2013 21:12 kartka 1111111111 na sumu 24.72UAH 。 Dostupnyi zalyshok 1351.58UAH。

2 个答案:

答案 0 :(得分:3)

如果您的价格的一般格式是xxxx.xx,您可以使用:

"(?<!(?:\\d|\\.))\\d+\\.\\d{2}(?!\\.)"

至少它与日期不匹配 (不要忘记逃避这一点,因此它不是通配符)

答案 1 :(得分:1)

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

这将在价格之前和之后寻找空格。