从以字符串形式给出的点中获取数字

Get the number from Points giving in the form of a String

我有一个字符串:

    String str = "(25, 4) (1, -6)";

我想获取个人号码。现在,这就是我正在做的事情:

    String[] strNew = str.replaceAll("\s+","").split("-?\D+");

但下面是我得到的:

25
4
1
6 

我似乎无法得到 6 的负数。我在这里搜索了答案,但 none 我发现的正则表达式有效。有什么想法吗?

这应该对您有帮助:

    String text = "(25, 4) (1, -6)";
    ArrayList<String> list = new ArrayList<String>();
    try {
        Pattern pattern = Pattern.compile("-?\d+");
        Matcher matcher = pattern.matcher(text);
        while (matcher.find()) {
            list.add(matcher.group());
        }
        for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
            System.out.println(iterator.next());
        }
    } catch (PatternSyntaxException ex) {
    }