2014-10-17 1 views
0

문자열이 "영국 (영국), 미국 (미국), 인도 (인도)" 나는 단지 괄호 안에있는 값을 원한다. 즉 "영국, IND ". 나는 java를 처음 사용합니다. 나는이문자열에 대한 연산

+0

정규식'Matcher''같이 IndexOf()','subString()' –

+0

이 책을 읽으면 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html 프로그램을 작성하십시오. 당신의 코드에 문제가 있다면 코드 –

답변

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

나는 위의 의견에 동의하지만, 아무도 불쾌감을 느끼지 않을 것입니다 : 묻는 사람이 * explainations *을 찾는 것처럼 들리지 않습니다. ... – 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

이 작업을 꼭 수행하십시오. 왜냐하면 당신의 건너 뛰기가 false라면 java second에 그렇게 bool이 없기 때문에 블록이 계속 실행될 가능성이 없다. 내게 따르면 출력이없는 무한 루프입니다 –

+0

@amitbhardwaj 네, 감사합니다. –