从字符串形式的Points中获取数字

时间:2015-01-19 01:05:53

标签: java regex string split point

我有一个字符串:

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

我想得到个别数字。现在,这就是我在做的事情:

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

但下面是我得到的:

25
4
1
6 

我似乎无法得到6的负面信息。我在这里搜索答案,但没有找到正确的正则表达式。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这可以帮到你:

    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) {
    }