1

次のような文字列があります。

"["xxx","yyy","zzz"]"

次のような配列に変換する方法についてのヒントを教えてください。

somestring[0]="xxx"
somestring[1]="yyy"
somestring[2]="zzz"
4

3 に答える 3

2

表現

"[\"xxx\",\"yyy\",\"zzz\"]".replaceAll( "[\\\"\\[\\]]", "" ).split( "," );

配列になります:

a[0] = "xxx";
a[1] = "yyy";
a[2] = "zzz";

私は願います...

[1時間後...]

私が確認する:

public static void main(String[] args) {
    for( String part : "[\"xxx\",\"yyy\",\"zzz\"]".replaceAll( "[\\\"\\[\\]]", "" ).split( "," )) {
        System.out.println( part );
    }
}

出力:

xxx
yyy
zzz
于 2012-10-19T17:13:42.603 に答える
1

ダーティハック

String s1="[\"xxx\",\"yyy\",\"zzz\"]";
        String s2= s1.replaceAll("\"", "" );
        s2=s2.replace("[", "");
        s2=s2.replace("]", "");
        String ar[] =s2.split(",");
于 2012-10-19T18:10:22.083 に答える
0

入力文字列パターンを見ると、次のsubstringようにも機能します。

String inStr = "\"[\"xxx\",\"yyy\",\"zzz\"]\"";
String [] inArray = inStr.substring(0,inStr.length()-2).substring(2).split(",");
System.out.println(Arrays.toString(inArray));

印刷します:

    ["xxx", "yyy", "zzz"]

引用符 (") を削除する場合は、次のように記述します。

String inStr = "\"[\"xxx\",\"yyy\",\"zzz\"]\"";
String [] inArray1 = inStr.substring(0,inStr1.length()-2)
                          .substring(2).replaceAll("\"","").split(",");
System.out.println(Arrays.toString(inArray1));

または、次のことができます。

String inStr = "\"[\"xxx\",\"yyy\",\"zzz\"]\"";
String [] inArray = inStr.replaceAll( "[\\\"\\[\\]\"]", "").split( "," );
System.out.println(Arrays.toString(inArray0));

上記の 2 つは次のように出力されます。

    [xxx, yyy, zzz]
于 2012-10-19T17:19:36.067 に答える