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

发布于 2024-10-17 17:37:51 字数 373 浏览 5 评论 0原文

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

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

double[] thisArray = new double[20];

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

匹配器温度= Pattern.compile("(\d+)").matcher(x);

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

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

I have a question regarding the matcher. Currently I am trying to read a string and store all the digits into an array. My question is, how do you try to match both integers and decimals?

I have an array of doubles called:

double[] thisArray = new double[20];

Into this array, i am trying to store all the numbers I extract from the string.

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

That is my function for the matcher. But this only matches integers. I want to match both integers and decimals like (5.2). But how do I do this? I want to be able to enter in both integers and decimals into my string.

Any help would be appreciated. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我只土不豪 2024-10-24 17:37:51

这将处理整数和小数:-

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());
}

This will handle both integer and decimals:-

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());
}
青衫儰鉨ミ守葔 2024-10-24 17:37:51

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

The phrase \d+ will match a string of numbers. So what about adding a dot between two of them? (\d+)|(\d+|\.\d+)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文