Регулярное выражение и паттерн - PullRequest
0 голосов
/ 19 сентября 2011

МП (((1,1 1,2, 2,1 1,5), (3,1 4,1)), ((8,1 6,2, 2,5 4,5), (3,8 4,9)), ((7,1 6,2, 2,5 5,5), (3,8 4,9)))

В Java, как я могу разделить их, чтобы получить двойные значения. Какой шаблон и reqex будет? но не только удваивается, с индексом скобочного слоя

спасибо.

Я буду признателен, если вывод будет выглядеть следующим образом

кронштейн 1
вспомогательный кронштейн 1:

точка 1: 1,1 1,2

точка 2: 2,1 1,5

вспомогательный кронштейн 2:

пункт 1: 3,1 4,1

скоба 2

вспомогательный кронштейн 1:

пункт 1: 8,1 6,2

точка 2: 2,5 4,5

вспомогательный кронштейн 2:

пункт 1: 3,8 4,9

...

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

Ну, если вы хотите получить только список пар, вы можете использовать что-то вроде этого:

String input = "(((1.1 1.2, 2.1 1.5),(3.1 4.1)),((8.1 6.2, 2.5 4.5),(3.8 4.9)),((7.1 6.2, 2.5 5.5),(3.8 4.9)))";
Matcher matcher = Pattern.compile("\\d+\\.\\d+").matcher(input);
while (matcher.find()) {
    double d = Double.parseDouble(matcher.group());
    System.out.println(d);  //or alternatively, add to a list
}
1 голос
/ 19 сентября 2011

Я думаю, вам просто нужно разделить любой из этих нецифровых символов - звучит так, как будто они вообще не имеют значения, только значения:

value.split("[\\(\\), ]+")

Затем разберите каждый String с Double.parseDouble().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...