2014-10-17 69 views
0

我有一個字符串爲「英國(UK),美利堅合衆國(USA),印度(IND)」 我只是想這是括號中的數值,即我想要一個字符串「英國,美國, IND「。我是java新手。請告訴我,我應該怎麼辦這個操作上串

+0

正則表達式''Matcher'的indexOf ()','subString()' – 2014-10-17 07:33:45

+0

閱讀本http://docs.oracle.com/javase/7/docs/api/java/lang/String.html製作節目。如果你在你的代碼中的任何問題,那麼哪來那麼你的代碼 – 2014-10-17 07:34:52

回答

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 2014-10-17 07:47:02

+0

完全符合@Holger – 2014-10-17 07:52:31

+0

同意我雖然上述意見達成一致,並希望沒有人會覺得被冒犯:聽起來不像提問者的問題正在搜索*解釋相關* ... – Marco13 2014-10-17 08:22:02

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'那麼那麼就沒有機會,如果塊將會執行。據我來說是沒有任何輸出 – 2014-10-17 07:51:22

+0

@amitbhardwaj一個無限循環是感謝,編輯,想必這將現在的工作 – 2014-10-17 08:28:35