2

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

我有一个双打数组,称为:

double[] thisArray = new double[20];

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

Matcher temp = Pattern.compile("(\d+)").matcher(x);

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

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

4

2 回答 2

3

这将处理整数和小数: -

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());
}
于 2011-02-16T02:36:34.370 回答
0

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

于 2011-02-16T02:20:55.047 回答