2015-11-23 73 views
0

沿着移除多個令牌中的java如何從字符串數組通過分割用[]如何從字符串數組通過分割用[]

String Order_Menu_Name= [pohe-7, puri-3]; 
    String [] s2=Order_Menu_Name.split("-|,"); 
       int j = 0; 
       //out.println("s2.length "+s2.length); 
       while(j<s2.length){ } 

沿着移除多個令牌在java和預期輸出應該分開的每個值。 e,g pohe 7 puri 3

+1

顯示我們預期的輸入和輸出。另外,爲什麼你在'#'和':'上分割? – TheLostMind

+0

String Order_Menu_Name = [pohe-7,puri-3]; String [] s2 = Order_Menu_Name.split(「 - |,」); int j = 0; //out.println("s2.length「+ s2.length); while(j pravtej

+0

編輯問題並將代碼放在那裏。 – TheLostMind

回答

0

您的問題不清楚。假設您的字符串包含"pohe-7, puri-3",則可以使用separator(如「,」或「 - 」或空格)來分割它們。見下文。

String Order_Menu_Name= "[pohe-7, puri-3]"; 

從上述字符串中刪除「[」和「]」。你可以使用Java的更換方法如下:

Order_Menu_Name = Order_Menu_Name.replace("[", ""); 
Order_Menu_Name = Order_Menu_Name.replace("]", ""); 

您可以使用正則表達式匹配表達一個代替上面的兩行[...]如果你想。

刪除上述字符後,您可以按如下方式拆分字符串。

String[] chunks = Order_Menu_Name.split(","); 
i = 0; 
while(chunks.length) { 
    System.out.println(chunks[i]); 
    i++; 
} 

可以傳遞一個或兩個參數到Java split()方法,一個被限定圖案的正則表達式表達被發現,第二個參數是極限,指定多少塊,返回,見下文:

public String[] split(String regex, int limit) 

or 

public String[] split(String regex) 

例如

String Str = new String("Welcome-to-Stackoverflow.com"); 
for (String retval: Str.split("-", 3)){ 
    System.out.println(retval); 
} 

當使用分隔符分割上述STR 「 - 」 你應該得到的字符串的3塊如下:

Welcome 
to 
Stackoverflow.com 

如果您通過分割功能2代替三個限制,那麼你得到如下:

Welcome 
to-Stackoverflow.com 

注意上面「to-Stckoverflow.com」被返回是因爲我們限制了塊爲2.

+0

感謝您的關注...現在輸出看起來像[pohe puri 3],我希望每個值分開意味着要刪除[和]還顯示括號[和] – pravtej

+0

在分割字符串之前添加這兩行>> Order_Menu_Name = Order_Menu_Name.replace(「[」,「」); Order_Menu_Name = Order_Menu_Name.replace(「]」,「」);看到答案,我已經更新了它。 – Raf

+0

謝謝..,謝謝..非常感謝你..所有你的..issue得到解決..有一個美好的一天 – pravtej