サーバーから次の文字列を取得しますが、スペースで区切っているだけです。(改行は読みやすさによるものです。 "XX
はプレースホルダーであり、長さを変えることができます。また、角かっこで囲まれたものの長さも変えることができます。
文字列1:
status:ok [XXX][a=XXX b=XXX c=XXX d=XXX e=0 f=XXX g=XXX h=XXX i=XXX j=XXX
k=XXX l=XXX m=XXX n=[[XXX][XXX]] p=[[XXX][XXX][XXX][XXX][XXX][XXX][XXX]]]
end:end
文字列2:
status:ok [XXX][a=XXX b=XXX c=XXX d=XXX d2=XXX e=XXX f=XXX g=XXX h=XXX i=XXX j=XXX
k=XXX l=XXX m=XXX n=[[XXX][XXX]] p=[[XXX][XXX][XXX][XXX][XXX][XXX][XXX]]]
end:end
角かっこ「[]」内のすべての部分には、多かれ少なかれ「[]」を含めることができます。内側の「[]」内の要素と単語の長さはさまざまです。HashMapにこれらのa、b、c、d、eなどが必要ですが、それを実行する前に、なんらかの方法で解析する必要があります。
Javaでこの文字列を効率的に解析するにはどうすればよいですか?
「正規表現解析」以外に「キー値解析」と呼ばれるものを提案しているウェブサイトやスレッドをたくさん検索して見つけましたが、残念ながら「キー値解析」に関する情報はまばらです。
編集:最後に、これらの値を次のようなハッシュマップに保存したいと思います。
HashMap<String,Object> myHashMap = new HashMap();
myHashMap.put(a, XXX);
....
myHashMap.put(p,array-of-all-[XXX]);