Dom*_*nik 2 java regex string floating-point integer
我有一个String的以下两个可能的内容.显然金额总是变化的,我想提取关键信息和
Case 0: pricesString = ""
Case 1: pricesString = "$0.023"
Case 2: pricesString = "10+: $1.46 100+: $0.16 500+: $0.04"
Run Code Online (Sandbox Code Playgroud)
在Case 0我愿做任何事.
在Case 1我想表演:
article.addPrice(1, 0.023);
Run Code Online (Sandbox Code Playgroud)
在Case 2我想表演:
article.addPrice(10, 1.46);
article.addPrice(100, 0.16);
article.addPrice(500, 0.04);
Run Code Online (Sandbox Code Playgroud)
如何提取此信息,以便可以使用包含的浮点数和整数值调用article.addPrice?
这看起来像正则表达式的工作:
String pricesString = "10+: $1.46 100+: $0.16 500+: $0.04";
Pattern p = Pattern.compile("(\\d+)\\+: \\$(\\d\\.\\d\\d)");
Matcher m = p.matcher(pricesString);
while (m.find()) {
Intger.parseInt(m.group(1));
Double.parseDouble(m.group(2));
}
Run Code Online (Sandbox Code Playgroud)
您可以通过简单的.length()检查在3种情况中进行选择.上面的代码适用于最后一种情况.剩下的就是eaiser