使用matcher()匹配字符串中的小数

时间:2011-02-16 02:18:00

标签: java string decimal matcher

我对匹配器有疑问。目前我正在尝试读取字符串并将所有数字存储到数组中。我的问题是,你如何尝试匹配整数和小数?

我有一系列双打叫:

  

double [] thisArray = new double [20];

在这个数组中,我试图存储我从字符串中提取的所有数字。

  

匹配器临时=   Pattern.compile( “(\ d +)”)匹配(X);

这是我对匹配器的功能。但这只匹配整数。我想匹配整数和小数,如(5.2)。但是我该怎么做?我希望能够将整数和小数输入到我的字符串中。

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

这将处理整数和小数: -

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

@Test
public void testInteger() {
    Matcher m =p.matcher("10");

    assertTrue(m.find());
    assertEquals("10", m.group());
}

@Test
public void testDecimal() {
    Matcher m =p.matcher("10.99");

    assertTrue(m.find());
    assertEquals("10.99", m.group());
}

答案 1 :(得分:0)

短语\d+将匹配一串数字。那么在两个之间添加一个点呢? (\d+)|(\d+|\.\d+)