-1

次のように文字列を解析したい:

String str = 6,image micky.jpeg:7,image 02.jpeg:8,img3;

ジャバで。この6, 7, に8は ID があり、動的文字列には任意の数の ID を含めることができます。

この文字列から id の配列を見つけたいのですが、その方法を教えてください。

4

4 に答える 4

2

「:」パラメータを使用して分割メソッドを利用できます。split(String regex)メソッド ( Stringオブジェクトで使用) は、オブジェクト内でregexによって区切られた文字列の配列を返します。この場合、次のような配列が返されます。

{"6,画像ミッキー,jpeg","7,画像02.jpeg","8,img3"}

次に、この配列を反復処理して、再び分割を使用できます。今回は「,」をパラメータに。次に、結果配列から最初の値を取得する必要があります。

String[] array = str.split(":");
for(int i=0;i<array.length;i++){
  String[] innerData = array[i].split(",");
  String id = innerData[0];
  System.out.println(id);
}

また

String[] array = str.split(":");
for(String s : array){
  String[] innerData = s.split(",");
  String id = innerData[0];
  System.out.println(id);
}

どちらの場合も、探しているのは String id です。

もしあなたが試してみたら

String[] array = str.split(",");

まず、結果の配列は次のようになります。

{"6","画像 micky.jpeg:7","画像 02.jpeg:8","img3"}

于 2012-10-09T10:20:30.133 に答える
2
    String str = "6,image micky.jpeg:7,image 02.jpeg:8,img3";
    String[] array = str.split(":");

    int[] ids = new int[array.length]; // Array of ids.
    int index = 0;

    for (String s : array) 
    {
        String[] subArray = s.split(",");

        try
        {
            ids[index++] = Integer.valueOf(subArray[0]);
        }
        catch(NumberFormatException nfe)
        {
            nfe.printStackTrace();
        }           
    }
于 2012-10-09T10:24:30.647 に答える
0

StringTokenizerの使用

     String str = "6,image micky.jpeg:7,image 02.jpeg:8,img3";

     StringTokenizer tk = new StringTokenizer(str, ":");
     while (tk.hasMoreElements()) {
        String elem = (String) tk.nextElement();

        StringTokenizer tk1 = new StringTokenizer(elem, ",");

         if (tk1.hasMoreElements()) {
                String elem1 = (String) tk1.nextElement();
                System.out.println(elem1.charAt(0));
         }      

     }
于 2012-10-09T10:33:08.057 に答える
0

StringTokenizerまたはStringクラスの split(...) メソッドを使用する必要があります。

于 2012-10-09T10:21:24.953 に答える