次のような文字列があります。
"["xxx","yyy","zzz"]"
次のような配列に変換する方法についてのヒントを教えてください。
somestring[0]="xxx"
somestring[1]="yyy"
somestring[2]="zzz"
表現
"[\"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
ダーティハック
String s1="[\"xxx\",\"yyy\",\"zzz\"]";
String s2= s1.replaceAll("\"", "" );
s2=s2.replace("[", "");
s2=s2.replace("]", "");
String ar[] =s2.split(",");
入力文字列パターンを見ると、次の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]