Получить номер из баллов, дающих в виде строки
У меня есть строка:
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) {
}