Получить номер из баллов, дающих в виде строки

У меня есть строка:

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

Я хочу получить индивидуальные номера. На данный момент это то, что я делаю:

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

Но вот что я получаю:

25
4
1
6 

Кажется, я не могу получить отрицание на 6. Я ищу здесь ответы, но ни одно из регулярных выражений, которые я нашел, не сработало. Какие-нибудь мысли?

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) {
    }
Другие вопросы по тегам