2014-11-30 2 views
-1

Я получаю вывод кода Java в скобках, мне нужно получить каждое ключевое слово внутри скобки?Java-код для захвата каждого ключевого слова в квадратных скобках?

Выходные Шоу:

[Eiwitten, 4,8, g] 

от этого мне нужно, чтобы получить каждое ключевое слово, как:

Eiwitten 
4,8 
g 

Поэтому, пожалуйста, помогите мне, как решить в кодировке Java?

Спасибо заранее!

+3

'\ [(. +) \]', А ​​затем 'split'? – Maroun

ответ

0

Путь предложил Марун Марун является простым и эффективным, вы можете использовать его, но с этим рисунком: \\[([^]]+)]

Если вы хотите сделать это с помощью одного шаблона:

(?:\\G(?!\\A)|\\[(?=[^]]*]))(.+?)(?:, |(?=])) 

, если вы знаете, что квадратные скобки сбалансированы, вы можете сделать короче с:

(?:\\G(?!\\A)|\\[)(.+?)(?:, |(?=])) 

Примечание: Эти две модели не позволяют пустые элементы.

0

Попробуйте это.

String str ="[Eiwitten, 4,8, g]"; 
     str = str.replaceAll("\\[", ""); 
     str = str.replaceAll("\\]", ""); 
     String[] split = str.split(", "); 
     for(int r = 0 ; r <split.length ; r++){ 
      System.out.println(split[r]); 
     } 
+0

не получил! можете ли вы объяснить, что вы говорите? –

+0

У меня есть решение: Eiwitten 4,8 g. Спасибо, Мия. –

+0

ваш wlcm мужчина :) –

0

вы также можете использовать этот шаблон, чтобы захватить текст между ", "

, |([^\]\[]+?)(?=, |\]) 

Demo

,    # ", " 
|    # OR 
(    # Capturing Group (1) 
    [^\]\[]  # Character not in [^\]\[] 
    +?   # (one or more)(lazy) 
)    # End of Capturing Group (1) 
(?=    # Look-Ahead 
    ,    # ", " 
    |    # OR 
    \]   # "]" 
)    # End of Look-Ahead 
Смежные вопросы