【发布时间】:2010-09-09 23:14:12
【问题描述】:
我有一个看起来像“A=1.23;B=2.345;C=3.567”的字符串
我只对“C=3.567”感兴趣
我目前拥有的是:
Matcher m = Pattern.compile("C=\\d+.\\d+").matcher("A=1.23;B=2.345;C=3.567");
while(m.find()){
double d = Double.parseDouble(m.group());
System.out.println(d);
}
问题是它显示 3 与 567 是分开的
输出:
3.0
567.0
我想知道如何包含小数,以便输出“3.567”
编辑:如果 C 没有小数点,我也想匹配它: 所以我想捕获 3567 和 3.567
由于 C= 也内置在模式中,我如何在解析双精度之前将其删除?
【问题讨论】:
-
句点 (".") 不是数字。