2014-10-17 1 views
0

У меня есть String как «Великобритания (Великобритания), Соединенные Штаты Америки (США), Индия (IND)« Мне просто нужны значения, которые находятся в скобках, т. Е. Я хочу строку «Великобритания, США, IND ". Я новичок в java. Пожалуйста, скажите мне, как я должен это сделатьОперация на String

+0

регулярное выражение '' Matcher' IndexOf() ',' subString() ' –

+0

прочитайте это http://docs.oracle.com/javase/7/docs/api/java/lang/String.html, чтобы создать программу. если у вас есть какие-либо проблемы в вашем коде, тогда придите к SO с кодом –

ответ

1
public static void main(String[] args) { 
     String example = "United Kingdom (UK), United States Of America (USA), India (IND)"; 
     Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(example); 
     while (m.find()) { 
      System.out.println(m.group(1)); 
     } 
    } 

Выход

UK 
USA 
IND 
+3

Поскольку вопросник является новичком, вам будет полезно узнать больше об объяснении ... – Holger

+0

полностью согласен с @Holger –

+0

Хотя я согласен с вышеуказанными комментариями и надеюсь, что никто не будет оскорблен: вопросы не звучат так, как спрашивает искатель * объяснения * ... – Marco13

0

вы можете использовать это:

String str = "United Kingdom (UK), United States Of America (USA), India (IND)"; 
    StringTokenizer st2 = new StringTokenizer(str, "(,)"); 
    boolean skip = false; 
    while (st2.hasMoreTokens()) { 
     if (skip) { 
      System.out.println(st2.nextToken()); 
      skip = false; 
     }else{ 
      String string = st2.nextToken().toString(); 
      skip = true; 
     } 
    } 

Выход

UK 
USA 
IND 
+0

Вы уверены, что эта работа. Поскольку в java нет такой вещи «bool», если ваш скип ложный, тогда нет никаких шансов, что если блок будет выполняться когда-либо. По мне, это бесконечный цикл без вывода –

+0

@amitbhardwaj да спасибо, отредактирован, конечно, это будет работать сейчас –

 Смежные вопросы

  • Нет связанных вопросов^_^