3

「NAME:City~FORMAT:S~PRINT:true」のような文字列があります

"City" の値をフィールド 1 に、"S" をフィールド 2 に、true をフィールド 3 (ブール値) に分割して割り当てたいと考えています。

このコードを総当たりで処理できることはわかっていますが、2 番目の分割の値をフィールドに解析する方法はありますか? NAME ですが、下付き文字 1 が必要です。これは "City" です)。

   for (String element : text.split("~")) {
        for (String rule : element.split(":")) {
            System.out.println(rule);
        }

    }
4

2 に答える 2

2

次のようなことを行うことで、ループを回避することもできます。

String[] flds = text.split("NAME:|~FORMAT:|~PRINT:");
String field1 = flds[1];
String field2 = flds[2];
String field3 = flds[3];
于 2012-08-27T21:01:32.397 に答える
1

あなたはただすることができます

for (String element : text.split("~")) {
   System.out.println(element.split(":")[1]);
}

split()は配列を返し、 index を持つ 2 番目の要素が必要です1

于 2012-08-27T20:41:39.767 に答える