2012-11-05 108 views
0


我正在尋找一種方法來實現以下問題。分割字符串java返回值

從字符串啓動我試圖返回一個字符串[]等於

new String[]{Q},{ec.Qh},{ec.Q2} 

沒有人有什麼建議嗎?

到目前爲止:

String a="Q={{ec.Qh}{ec.Q2}}"; 

    int index_first = a.indexOf("="); 
    String name= a.substring(0,index_first); 
    String temp=a.substring(index_first+1, a.length()); 
    temp=temp.replaceAll("\\{\\{",""); 
    temp=temp.replaceAll("\\}\\{","\\,"); 
    temp=temp.replaceAll("\\}\\}",""); 
    String[] synonyms=temp.split(","); 

    //for(int i =0;i<synonyms.length;i++){System.out.println(synonyms[i]);} 

    String[] result=new String[]{name,synonyms} // does not work! 
+1

你的問題並不清楚..什麼是你想達到什麼目的? – giorashc

回答

2

您可以使用

String s = "Q={{ec.Qh}{ec.Q2}}"; 
String[] parts = s.split("(=\\{\\{|}\\{|}})"); 
System.out.println(Arrays.toString(parts)); 

打印

[Q, ec.Qh, ec.Q2] 
+0

非常感謝您的幫助! – user1193134

3

你可以使用這樣的StringTokenizer:

new StringTokenizer(string, "{}") 

注意,但StringTokenizer的提名字符分割(}{)和這些回報。您應該使用nextToken()遍歷分詞器結果,並將結果添加到List<String>

它在這裏很有用,因爲它的簡單性,但documentation指出,StringTokenizer是一個遺留類,所以你應該謹慎使用。