Разделение строки Java внутри скобок

String s = "Length(1-2), Width(3-4), Height(5-6)"

Мне нужно получить значения только в скобках, то есть -

[1-2, 3-4, 5-6]

Когда я использую s.split("\\((.*?)\\)"), я получаю значения вне скобок, но мне нужно внутри. Как я могу это сделать?

Не используйте split. Используйте регулярное выражение (?<=\()[^)]*(?=\)) и цикл while с использованием matcher.find()

anubhava 06.12.2018 11:03

Вы можете сопоставить их с вашим регулярным выражением.

Wiktor Stribiżew 06.12.2018 11:03
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
148
1

Ответы 1

String s = "Length(1-2), Width(3-4), Height(5-6)";

Pattern p = Pattern.compile("\\((.*?)\\)");
Matcher m = p.matcher(s);

while(m.find()) {
  System.out.println(m.group(1));
}

Другие вопросы по теме