私は4つのものを含む文字列を持っており、それぞれのものをリストに格納したいと思います。 文字列にはアンドロイドからサーバーに送信された料理の注文が含まれています。サーバーでは、これを解析して表示する必要があります。 文字列のようになります。私は、1つの以上の順序は、それが区切られます来る場合は価格表にし、そう に時間リストとorderpriceで名前リストとordertimeでORDERNAMEを入力したい1つの注文の場合について文字列型の別のarraylistに文字列をパースする方法
[:ordername:ordertime:orderprice: orderquantity:]
[:ordername:ordertime:orderprice:orderquantity:],[:ordername2:ordertime2:orderprice2:orderquantity2:]
のようなコンマは私は上の価格表内の名前リストとordertime
でordername
、ordername2
、時間リストとorderprice
でordertime2
、orderprice2
を入力したいです。
これは私はこのような何かが動作する
String orderlist=request.getParameter("orderlist"); // this is a string which is coming from android to server containing orders
char[] orderarray=orderlist.toCharArray(); //converting string to char array
int comma_counter = 0;
int comma_counter1 = 0;
for (int i=0; i < orderlist.length(); i++){
if (orderarray[i]==','){
comma_counter++;
}
}
System.out.println("counter is"+comma_counter);
System.out.println("order list length"+orderlist.length());
ArrayList <String> order_array_list = new ArrayList <String>();
int no=0;
String temp="";
for (int j=no; j<orderarray.length; j++){
System.out.println(" j is "+ j);
if(orderarray[j]!=','){
temp = temp+orderarray[j];
// System.out.println("temp is "+temp);
}
else if(orderarray[j]==','){
order_array_list.add(temp);
temp="";
no=j;
}
}
String []parts= null;
for(int i=0; i<order_array_list.size(); i++){
String array= order_array_list.get(i);
parts= array.split(":");
for(int j=0; j<parts.length; j++)
{
System.out.println(parts[j]);
}
}
'String'を' char'配列に変換するのは意味がありません。 'String'クラスには便利なメソッド(' split() 'など)があり、必要なものを正確に処理します。 –
配列のすべてのインデックスよりもsplit()メソッドを使用していて、リストに配置するのが難しい場合 –