2016-08-17 85 views
-3

和存儲如何分離以下由字符串」分離由「串中的java」在二維陣列和存儲如何「在二維陣列中的java

「(‘1494576’,‘16268568’,'5150022241 ','麪粉','Pillsbury','2爲$ 5.00','5','8/20/2016','80','最佳多用途未漂白濃縮','Demoulas /市場購物籃','2' 'itemlink')」

我需要的數據僅在 '之間' 在二維陣列 像 溫度[0] [0] = 「1494576」 溫度[0] [1] = 「16268568」

+0

由什麼分開?空間?一個空字符串?字面上兩個單引號? – vlaz

+0

你能把這個清晰可辨嗎?儘管我認爲我有一個想法,但我不知道你想說什麼。 –

+1

如果您將'('和')'轉換爲'['和']',那麼您可能只需使用JSON解析器庫就可以了,它會爲您構建(一維)數組。 –

回答

0

As @Jesse Amano推薦s,你可能會逃避使用JSON。下面是這樣做的另一種粗暴的方式:

String s = "('1494576','16268568','5150022241','Flour','Pillsbury','2 For $5.00','5','8/20/2016','80','Best All Purpose Unbleached Enriched','Demoulas/Market Basket','2','itemlink')"; 
    String[][] temp = ...; 
    boolean inside = false; 
    boolean end = false; 
    int index = 0; 
    for(int i = 0; i < s.length(); i ++){ 
     if(s.substring(i, i + 1).equals("'")){ 
      inside = !inside; //determines if we are between '' 
      if(end) index ++; 
      end = !end; //determines if this is the closing ' 
     } 
     else{ 
      if(inside) temp[0][index] += s.substring(i, i +1); 
     } 
} 
0
String s = "('1494576','16268568','5150022241','Flour','Pillsbury','2 For $5.00','5','8/20/2016','80','Best All Purpose Unbleached Enriched','Demoulas/Market Basket','2','itemlink')" 
s = s.substring(2,s.length()-2); 
String[] str = s.split("','"); 
String[][] temp = new String[3][4]; 
int k = 0; 
for(String[] a: temp){ 
    for(String b: a){ 
     b = str[k]; 
     k++; 
    } 
} 

既然你有13個元素,它不可能把它放在矩形二維數組。這個只能容納12人。您可以調整您的數據或使用鋸齒狀陣列來保存13個。

+0

只要可能存在逗號在實際數據中。 – Robert

+0

謝謝..糾正我的答案。但是,如果我希望不會有數據存在',',那麼這個數據也會被打破。 – Addis